1957

无聊蛋疼的1957写的低端博客
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[leetcode]Merge Sorted Array

Posted on 2013-12-30 10:49  1957  阅读(125)  评论(0编辑  收藏  举报

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

不过让就用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--];
    }
};