- 简单来说,就是将两个数组连接到一起,之后再进行合并排序
- 可以运用调用方法进行排序,也可以自己实现,但在面试中,常常需要自己实现
-
class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int len1 = m - 1; int len2 = n - 1; int len = m + n - 1; while(len1 >= 0 && len2 >= 0) { // 注意--符号在后面,表示先进行计算再减1,这种缩写缩短了代码 nums1[len--] = nums1[len1] > nums2[len2] ? nums1[len1--] : nums2[len2--]; } // 表示将nums2数组从下标0位置开始,拷贝到nums1数组中,从下标0位置开始,长度为len2+1 System.arraycopy(nums2, 0, nums1, 0, len2 + 1); // 注意--符号在后面,表示先进行计算再减1,这种缩写缩短了代码 } }
合并两个有序数组
于 2024-05-15 16:37:35 首次发布