题目链接这里
public class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
if(nums2==null||n==0)
{
return;
}
if(m==0)
{
for(int i=0;i<n;i++)
{
nums1[i]=nums2[i];
}
return;
}
int j=n-1;
int k=m-1;
for(int i=n+m-1;i>=0;i--)
{
if(nums1[k]<nums2[j])
{
nums1[i]=nums2[j];
j--;
if(j<0)
{
break;
}
}
else
{
nums1[i]=nums1[k];
k--;
if(k<0)
{
while(j>=0)
{
nums1[j]=nums2[j];
j--;
}
break;
}
}
}
}
}
本文介绍了一种将两个已排序数组合并到第一个数组中的算法实现。该方法适用于当第一个数组有足够的空余空间来容纳第二个数组的情况。通过从两个数组的末尾开始比较并放置较大的元素到第一个数组的末尾,可以高效地完成合并过程。
170

被折叠的 条评论
为什么被折叠?



