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 andn respectively.
O(m+n)
class Solution { public: void merge(int A[], int m, int B[], int n) { while(m > 0 && n > 0) { if(A[m-1] > B[n-1]) { A[m+n-1] = A[m-1]; m--; } else { A[m+n-1] = B[n-1]; n--; } } while(n > 0) { A[n-1] = B[n-1]; n--; } } };
class Solution { public: void merge(int A[], int m, int B[], int n) { int i = 0, j = m; while(i < n) { A[j++] = B[i]; i++; } sort(A,A+m+n); } };
【LeetCode】Merge Sorted Array,布布扣,bubuko.com
原文:http://blog.csdn.net/pyang1989/article/details/23712269