Merge Sorted Array

從後往前進行merge, 時間複雜度在O(m + n)

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
        if(n == 0) return;
        int len = m + n;
        int index = len - 1;
        int i = m - 1, j = n - 1;
        while(i >= 0 && j >= 0)
        {
            if(A[i] < B[j])
            {
                A[index--] = B[j--];
            }
            else
            {
                A[index--] = A[i--];
            }
        }
        while(j >= 0)
        {
            A[index--] = B[j--];
        }
    }
};


發佈了60 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章