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);
}
}
leetcode88. 合并两个有序数组
最新推荐文章于 2024-11-21 14:18:02 发布
本文深入探讨了一种有效的数组合并算法,该算法通过比较两个已排序数组的元素,并将其合并成一个有序数组。此方法适用于数组扩容场景,尤其当其中一个数组有足够空间存放另一个数组的元素时。代码示例清晰展示了如何在不使用额外空间的情况下实现数组合并。
757

被折叠的 条评论
为什么被折叠?



