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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章