[LeetCode]Merge Sorted Array

来源:互联网 发布:中国广电网络投诉电话 编辑:程序博客网 时间:2024/06/05 10:37
解题思路:
1,array的总长度是一定的,即m + n;
2,最大的数字的位置也定了,即 m+n-1;

3,从后向前遍历,找到当前最大的数字,放在剩余空间的最后一位。 


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


0 0
原创粉丝点击