方法:遍历数组,依次比较
解题思路:先定义一个数组res用来存放A和B中的元素。遍历数组A、B中元素,如果A[i]<=B[j]则将A的元素加入res中,如果A[i]>B[j]则将B的元素加入res中。如果A,B其中有一个遍历完,另一个没遍历完,则将未遍历完的数组中的元素全部加入res中,最后再将res中的数据存入数组A中。

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int[] res = new int[m+n];   
        int i=0,j=0,r=0;
        while(i<m && j<n){      //遍历A.B中的元素
            if(A[i]<=B[j]){    //如果A<=B,A先放
                res[r++] = A[i++];
            }else{             //如果A>B,B先放
                res[r++] = B[j++];
            }
        }
        //如果A,B其中有一个遍历完,另一个没遍历完,则将未遍历完的数组中的元素全部加入res中
        while(i<m){     //当A中的元素未遍历完时,将A中剩下的元素全部放入res中
            res[r++]=A[i++];
        }
        while(j<n){     //当B中的元素未遍历完时,将B中剩下的元素全部放入res中
            res[r++]=B[j++];
        }
        for(int k=0;k<res.length;k++){ //最后将数组res中的元素全部存入数组A中
            A[k]=res[k];
        }
    }
}