【LeetCode】T88-合并两个有序数组&&C++&&简单

大约就是归并的最后一并?

思路就是从后往前写,从大的往小的写。数组1有序,数组2都写完之后剩下的数组1就是正确位置不用动了。

    void merge(vector<int>& a, int m, vector<int>& b, int n) {
        if(b.empty())
            return;
        int i = m-1, j = n-1, k = m+n-1;
        while(i>=0 && j>=0){
            if(a[i]>b[j])
                a[k--] = a[i--];
            else
                a[k--] = b[j--];
        }
        while(j>=0){
            a[k--] = b[j--];
        }
    }

猜你喜欢

转载自blog.csdn.net/PPPPluie/article/details/88829658