Leetcode-合并两个有序数组
18.合并两个有序数组
题目内容:
代码及思路:
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
if(m==0)
nums1=nums2;
if(n==0)
nums1=nums1;
int index1=m-1;
int index2=n-1;
int index=m+n-1;
while(index1>=0&&index2>=0)
{
if(nums1[index1]>nums2[index2])
nums1[index--]=nums1[index1--];
else
nums1[index--]=nums2[index2--];
}
//如果长度另一个为零
if(index1>=0)
{
while(index1>=0)
{
nums1[index--]=nums1[index1--];
}
}
if(index2>=0)
{
while(index2>=0)
{
nums1[index--]=nums2[index2--];
}
}
}
};