【LeetCode088】Merge Sorted Array

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int p1 = m-1, p2 = n-1, p = m + n - 1;
        while(p1 >= 0 && p2 >= 0){
            if(nums2[p2] > nums1[p1]){
                nums1[p--] = nums2[p2--];
            }
            else
                nums1[p--] = nums1[p1--];
        }
        while(p2 >= 0){
            nums1[p--] = nums2[p2--];
        }
    }
};

这道题题目比较坑, 没看实例我就做了,后来发现第一个vector并不是完全有序的,后面有好几个0

m, n分别表征的真正有序的长度,而且这里肯本用不到vector,数组就可以了啊

原来num1足够大的意思是数组足够长,这还是按时当做数组做

猜你喜欢

转载自blog.csdn.net/weixin_39458342/article/details/88072183
今日推荐