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(int A[], int m, int B[], int n) {
 4         int aindex=m-1;
 5         int bindex=n-1;
 6         int index=m+n-1;
 7         
 8         while(aindex>=0&&bindex>=0)
 9         {
10             if(B[bindex]>A[aindex])
11             {
12                 A[index--]=B[bindex--];
13                 //index--;
14                 //bindex--;
15             }else{
16                 A[index--]=A[aindex--];
17                 //index--;
18                 //aindex--;
19             }
20         }
21         
22         while(aindex>=0)
23         {
24             A[index--]=A[aindex--];
25             //index--;
26             //aindex--;
27         }
28         
29         while(bindex>=0)
30         {
31             A[index--]=B[bindex--];
32             //index--;
33             //bindex--;
34         }
35         
36     }
37 };

 

posted on 2015-05-08 10:04  黄瓜小肥皂  阅读(103)  评论(0编辑  收藏  举报