【LeetCode】88 - 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 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 };

 

posted @ 2015-08-12 23:17  irun  阅读(140)  评论(0编辑  收藏  举报