public class MeregArray {
public static void main(String[] args) {
MeregArray ma = new MeregArray();
int[] nums1 = new int[]{1, 2, 3, 0, 0, 0};
int[] nums2 = new int[]{2, 4, 6};
ma.merge(nums1, 3, nums2, 3);
}
public void merge(int[] nums1, int m, int[] nums2, int n) {
int len1 = m - 1;
int len2 = n - 1;
//易错:此处为m+n,而不是len1+len2
int len = m + n - 1;
while (len1 >= 0 && len2 >= 0) {
nums1[len--] = nums1[len1] > nums2[len2] ? nums1[len1--] : nums2[len2--];
}
System.arraycopy(nums2, 0, nums1, 0, len2 + 1);
}
}