[leetcode]Merge Sorted Array

很简单...都做过...

不过让就用A,B这两个数组,一下忘了...

思维习惯就是去选小的啦,其实我们可以选大的放到最后不就好处理了!

class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        int last = m + n - 1;
        m--;n--;
        while(m >= 0 && n >=0){
            if(A[m] > B[n]){
                A[last] = A[m];
                m--;
            }else{
                A[last]= B[n];
                n--;
            }
            last--;
        }
        if(n >= 0){
            while(last >= 0){
                A[last] = B[n];
                last--;
                n--;
            }
        }
    }
};
class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        int size = m + n - 1;
        m--; n--;
        while(m >= 0 && n >= 0) {
            if (A[m] > B[n]) {
                A[size--] = A[m];
                m--;
            } else {
                A[size--] = B[n];
                n--;
            }
        }
        while(n >= 0) A[size--] = B[n--];
    }
};
原文地址:https://www.cnblogs.com/x1957/p/3497261.html