题目
解答
这个是我看的比较巧妙的一个方法了。思路上没有太大差别都是比较两个数组中数据的大小,把较大的从后往前放入数组一中。巧妙地地方在于减少对m,n大于0的讨论,提高了运行速度。
public void Merge(int[] nums1, int m, int[] nums2, int n) {
int p=m-- + n-- -1;
while(m>=0&&n>=0)
{nums1[p--]=nums1[m]>nums2[n]?nums1[m--]:nums2[n--];}
while(n>=0)
{nums1[p--]=nums2[n--];}