[Leetcode]Merge Sorted Array

思路:從後往前merge,這樣可以不用額外的空間

class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        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(i >= 0)
            A[k--] = A[i--];
        while(j >= 0)
            A[k--] = B[j--];
    }
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章