LeetCode 088 Merge Sorted Array 合并两个有序数组

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

 1 class Solution {
 2 public:
 3     void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
 4         if(nums1.empty()||nums2.empty())
 5             return;
 6         int idx1=m-1;
 7         int idx2=n-1;
 8         int len=m+n-1;
 9         while(idx1>=0&&idx2>=0)
10         {
11             if(nums1[idx1]>=nums2[idx2])
12                 nums1[len--]=nums1[idx1--];
13             else
14                 nums1[len--]=nums2[idx2--];
15         }
16         while(idx2>=0)
17             nums1[len--]=nums2[idx2--];
18     }
19 };

 

posted on 2018-03-16 18:31  lina2014  阅读(132)  评论(0编辑  收藏  举报

导航