1、力扣原题
https://leetcode-cn.com/problems/merge-sorted-array/
- 思路:双指针
注意点:
1.for循环里面,先判断当指针越界的情况,再判断大小比较值的情况。
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int[] resultArr = new int[m+n];
int p1 = 0;
int p2 = 0;
for (int i = 0; i < m+n; i++) {
int val = 0;
if (p1 == m) { // 这里必须先判断
val = nums2[p2];
p2++;
} else if (p2 == n) { // 这里必须先判断
val = nums1[p1];
p1++;
} else if (nums1[p1] <= nums2[p2]) {
val = nums1[p1];
p1++;
} else if (nums1[p1] > nums2[p2]) {
val = nums2[p2];
p2++;
}
resultArr[i] = val;
System.out.println("resultArr=="+resultArr[i]);
}
for (int i = 0; i < m + n; i++) {
nums1[i] = resultArr[i];
}
}
}