【LeetCode】88

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 nums1and nums2 are m and n respectively.

Solution:

 1 class Solution {
 2 public:
 3     void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {  //runtime: 4ms
 4         int i=m-1;
 5         int j=n-1;
 6         int k = m+n-1;
 7         while(i >=0 && j>=0)
 8         {
 9             if(nums1[i] > nums2[j])
10                 nums1[k--] = nums1[i--];
11             else
12                 nums1[k--] = nums2[j--];
13         }
14         while(j>=0)
15             nums1[k--] = nums2[j--];
16     }
17 };
原文地址:https://www.cnblogs.com/irun/p/4725857.html