LeetCode88. 合并两个有序数组
2021-04-15 06:28
标签:else image lazy 第一个 结束 一个 情况 code oid 归并两个已排序数组为一个数组,不同于归并排序的归并用一个额外的数组,这里在第一个数组预留出足够的空间,所以需要直接在第一个数组里存放原来的两个数组的所有元素。 归并排序里,是额外开一个数组,然后两个指针分别从第一个数组和第二个数组的开头进行比较,比较小的那一个元素加入新数组中,然后某个数组为空之后,把另一个数组剩下的所有元素加入到新数组中。 不过在这题里,从头开始比较两个数组,然后再把元素放入nums1里,会覆盖nums1原本的元素,不可行。 正好nums1后面预留出的元素全是0,是可以覆盖掉的,所以这题需要分别从nums1和nums2的末尾开始比较,较大的那个元素放到末尾,然后指针向前。 代码如下: LeetCode88. 合并两个有序数组 标签:else image lazy 第一个 结束 一个 情况 code oid 原文地址:https://www.cnblogs.com/linrj/p/13334114.html
这个过程结束之后,新数组就是归并之后的两个数组。class Solution {
public:
void merge(vector
文章标题:LeetCode88. 合并两个有序数组
文章链接:http://soscw.com/index.php/essay/75932.html