合并两个有序数组JAVA
时间: 2023-09-13 15:06:00 浏览: 63
可以使用双指针法来合并两个有序数组,具体步骤如下:
1. 定义一个新数组,长度为两个有序数组的长度之和,用于存放合并后的结果。
2. 定义两个指针,分别指向两个有序数组的开头。
3. 比较两个指针所指向的元素,将较小的元素放入新数组中,并将指向该元素的指针向后移动一位。
4. 重复步骤 3,直到其中一个数组的所有元素都被遍历完。
5. 将另一个数组剩余的元素依次放入新数组中。
以下是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;
}
```
其中,nums1和nums2分别为两个有序数组,返回值为合并后的有序数组。