class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n)
{
/* vector<int> nums;
int i=0;
int j=0;
while(i<m || j<n )
{
if (i<m && j<n)
{
if (nums1[i]<nums2[j])
{
nums.push_back(nums1[i]);
i++;
}
else
{
nums.push_back(nums2[j]);
j++;
}
}
else if (i<m &&j>=n)
{
nums.push_back(nums1[i]);
i++;
}
else if (j<n &&i>=m)
{
nums.push_back(nums2[j]);
j++;
}
}
nums1=nums;
*/
int i=m-1;
int j=n-1;
for (int k=m+n-1;k>=0;k--)
{
if((j<0 || nums2[j]<nums1[i]) && i>=0 )
{
nums1[k]=nums1[i];
i--;
}
else
{
nums1[k]=nums2[j];
j--;
}
}
}
};