88. 合并两个有序数组 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/merge-sorted-array/
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int k = m + n;
int[] a = new int[k];
for (int i = 0, nums1Index = 0, nums2Index = 0; i < k; i++) {
if (nums2Index >= n) {
a[i] = nums1[nums1Index++];
}else if (nums1Index >= m) {
a[i] = nums2[nums2Index++];
}else if (nums1Index < m && nums1[nums1Index] < nums2[nums2Index]) {
a[i] = nums1[nums1Index++];
}else if (nums2Index < n && nums1[nums1Index] >= nums2[nums2Index]) {
a[i] = nums2[nums2Index++];
}
}
for (int i = 0; i < k; i++) {
nums1[i] = a[i];
}
}
}
下标越界的条件要先判断,否则传的是空数组就会报错(sort的代码就不贴上来了。。。