88. Merge Sorted Array

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.

---

 

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        
        int newLen = m+n;
        int i=m-1, j=n-1, r=newLen-1;
        
        while(i>=0 && j>=0){
            if(A[i] > B[j]) A[r--] = A[i--];
            else if(A[i] <= B[j]) A[r--] = B[j--];
        }
        
        // copy left B
        while(j>=0){
            A[r--] = B[j--];
        }
    }
}

 

posted @ 2013-09-20 08:19  LEDYC  阅读(119)  评论(0)    收藏  举报