合并两个有序数组JAVA
时间: 2023-09-05 17:13:30 浏览: 80
可以使用双指针法,将两个有序数组的元素从小到大依次比较,把较小的元素先放入新的数组中,最后再将未遍历完的数组的剩余元素添加到新数组的末尾。
以下是一个示例代码:
```java
public static int[] merge(int[] nums1, int[] nums2) {
int[] result = new int[nums1.length + nums2.length];
int i = 0, j = 0, k = 0;
while (i < nums1.length && j < nums2.length) {
if (nums1[i] < nums2[j]) {
result[k++] = nums1[i++];
} else {
result[k++] = nums2[j++];
}
}
while (i < nums1.length) {
result[k++] = nums1[i++];
}
while (j < nums2.length) {
result[k++] = nums2[j++];
}
return result;
}
```
在该示例代码中,使用了三个指针 i、j 和 k,分别指向两个数组和结果数组。在 while 循环中,比较两个数组当前元素的大小,将较小的元素添加到结果数组中,并将对应指针向后移动。最后,将未遍历完的数组剩余元素添加到结果数组的末尾。
阅读全文