题目描述
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
思路
从尾到头比较两个数组的数字大小,较大的放入。
code
C++
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int l = nums1.size();
if (l < m + n || n == 0)
return;
int k = m + n - 1;
m --;
n --;
while (m >= 0 && n >= 0) {
nums1[k --] = (nums1[m] >= nums2[n]) ? nums1[m --] : nums2[n --];
}
if (m < 0 && n >= 0) {
while (n >= 0) {
nums1[k --] = nums2[n--];
}
}
}
};