leetcode 88 Merge Sorted Array
題目描述
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.
思路
給兩個(gè)排好序的整型數(shù)組nums1和nums2,將nums2的值歸并到nums1,并使之仍然有序。
設(shè)一個(gè)新的數(shù)組存放結(jié)果,最后再全部賦給nums1。
設(shè)兩個(gè)下標(biāo)i,j,分別表示兩個(gè)數(shù)組的當(dāng)前位置,比較后,哪個(gè)小就賦給新的數(shù)組,那么哪個(gè)就向后移動(dòng)。注意的是一個(gè)結(jié)束了,另一個(gè)數(shù)組里還有剩余的值也要全部存入新的數(shù)組里。
代碼
class Solution { public:vector<int> merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {vector<int> nums3;int i, j;for(i = 0, j = 0; i < m && j < n;){if(nums1[i] < nums2[j]){nums3.push_back(nums1[i]);i++;}else{nums3.push_back(nums2[j]);j++;}}while(i < m){nums3.push_back(nums1[i]);i++;}while(j < n){nums3.push_back(nums2[j]);j++;}nums1.clear();for(i = 0; i < nums3.size(); i++){ nums1.push_back(nums3[i]);}return nums1;} }; 復(fù)制代碼轉(zhuǎn)載于:https://juejin.im/post/5a33b4006fb9a0451a767146
總結(jié)
以上是生活随笔為你收集整理的leetcode 88 Merge Sorted Array的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分析师:索尼将成为iPhone 15 P
- 下一篇: Xcode9 之 Xcode Serve