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 to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
You may assume that A has enough space to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
[解题思路]
从后往前填空。
[Code]
1: void merge(int A[], int m, int B[], int n) {
2: // Start typing your C/C++ solution below
3: // DO NOT write int main() function
4: int k = m+n-1;
5: int i = m-1, j =n-1;
6: for(; i>=0 && j>=0; k--)
7: {
8: if(A[i] >= B[j])
9: {
10: A[k] = A[i];
11: i--;
12: }
13: else
14: {
15: A[k] = B[j];
16: j--;
17: }
18: }
19: while(j >=0)
20: {
21: A[k] = B[j];
22: k--; j--;
23: }
24: }