lintcode-easy-Merge Sorted Array II

Merge two given sorted integer array A and B into a new sorted integer array.

 

A=[1,2,3,4]

B=[2,4,5,6]

return [1,2,2,3,4,4,5,6]

感觉和上一个题没啥区别

class Solution {
    /**
     * @param A and B: sorted integer array A and B.
     * @return: A new sorted integer array
     */
    public int[] mergeSortedArray(int[] A, int[] B) {
        // Write your code here
        if(A == null)
            return B;
        if(B == null)
            return A;
        
        if(A.length == 0)
            return B;
        if(B.length == 0)
            return A;
        
        int m = A.length;
        int n = B.length;
        
        int i = 0;
        int j = 0;
        
        int[] result = new int[m + n];
        
        for(int k = 0; k < m + n; k++){
            int numberA = Integer.MAX_VALUE;
            int numberB = Integer.MAX_VALUE;
            
            if(i < m)
                numberA = A[i];
            if(j < n)
                numberB = B[j];
            
            if(numberA < numberB){
                result[k] = numberA;
                i++;
            }
            else{
                result[k] = numberB;
                j++;
            }
        }
        
        return result;
    }
}

 

posted @ 2016-03-02 13:59  哥布林工程师  阅读(154)  评论(0编辑  收藏  举报