题目描述[原题链接][https://leetcode-cn.com/problems/merge-sorted-array/]
给定两个有序整数数组 nums1 和 nums2*,将 *nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
说明:
- 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
- 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n*)来保存 *nums2 中的元素。
示例:
1 | 输入: |
算法描述
记住每个数组的最后一个元素的位置记位r1
和r2
,再用一个变量记住合并后数组的总长度m
,当nums1[r1]>nums2[r2]
将nums1[r1]
放在m
的位置,不满足之前的情况将nums[r2]
放在m
的位置,要注意的是每次操作完都要进行后移操作,直到r1、r2
有一个变量为-1
结束,要注意当r1==-1
时需要判断nums2
数组有没有合并完,没有要继续进行合并,直到合并结束;
C++代码
1 | class Solution { |
Java代码
1 | class Solution { |