Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space (size that
is greater or equal to m + n) to hold
additional elements from B. The number of elements initialized in A and B
are m and nrespectively.
非常水题。不过需要注意后面的补全。练习过mergesort()都不会多申请内存空间的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 |
class
Solution { public : void
merge( int
A[], int
m, int
B[], int
n) { int
la =m-1; int
lb =n-1; int
i; for (i = m+n-1 ; lb >= 0 && la >= 0 ;i--) { if (B[lb] >= A[la]) { A[i] = B[lb--]; continue ; } if (B[lb] < A[la]) { A[i] = A[la--]; continue ; } } while (lb>=0)A[i--] = B[lb--]; } }; |
Merge Sorted Array,布布扣,bubuko.com
原文:http://www.cnblogs.com/pengyu2003/p/3575094.html