leetcode88. 合并两个有序数组
2019-01-09 10:44
253 查看
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
示例:
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3
输出: [1,2,2,3,5,6]
思路:话不多说,直接上代码,从nums1的尾部开始重置元素,遍历两个数组,大的数就往后填充,最后num2的数组还需要判断一下是否已被填充完,没有的话就再接着填充就行了。
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i = m-1; int j = n-1; int nIndex = m+n-1; while(i >= 0 && j >= 0) { if(nums1[i] < nums2[j]) nums1[nIndex--] = nums2[j--]; else nums1[nIndex--] = nums1[i--]; } while(j >= 0) { nums1[nIndex--] = nums2[j--]; } } };
相关文章推荐
- leetcode 88. 合并两个有序数组
- LeetCode—88. 合并两个有序数组
- LeetCode - 88. 合并两个有序数组
- LeetCode 88. 合并两个有序数组
- Leetcode 88 Merge Sorted Array 合并两个有序数组
- [LeetCode]Merge Sorted Array(合并两个有序的数组)
- leetcode:Merge Sorted Array(合并两个有序数组到其中一个数组中)【面试算法题】
- 数据结构与算法[LeetCode]—两个有序数组合并及找中点问题
- [leetcode]Merge Sorted Array (两个有序数组的合并 C语言实现)
- (LeetCode刷题)合并两个有序的链表和数组
- 【leetcode】合并两个有序数组
- 【LeetCode】88 合并两个有序数组
- 合并两个有序数组 - LeetCode
- leetcode之数组类之数组的旋转与分治类-----OJ 189/33/81/153/154 数组旋转 旋转数组搜索 88 有序数组合并 4 两个有序数组寻找第K个元素/中位数 35 寻找插入位置
- [LeetCode] Merge Sorted Array 合并两个有序数组
- c# 88. 合并两个有序数组
- 【leetcode】Merge Sorted Array(合并两个有序数组到其中一个数组中)
- 两个有序的数组排序合并
- 将两个有序的数组合并成一个有序的数组
- LeetCode Merge Sorted Array(合并有序数组)