LeetCode 88. Merge Sorted Array

解題思路: 比較兩個數組的每個數的大小,從後往前比較,大的保存在nums1的最後,遍歷.

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        while(m>0 && n>0){
            if(nums2[n-1]>nums1[m-1]){
                nums1[m+n-1] = nums2[n-1];
                n--;
            }
            else{
                nums1[m+n-1] = nums1[m-1];
                m--;
            }
        }
        while(m>0){
            nums1[m+n-1] = nums1[m-1];
            m--;
        }
        while(n>0){
            nums1[m+n-1] = nums2[n-1];
            n--;
        }
    }
};


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