sortedArr Merge

来源:互联网 发布:网络保险平台可靠吗 编辑:程序博客网 时间:2024/04/30 06:29
public void merge(int[] nums1, int m, int[] nums2, int n) {        int k = m+n-1;//要从后向前遍历,如果从前向后,则会覆盖。        int i=m-1;        int j=n-1;        while(i>-1&&j>-1)        {           nums1[k--] = (nums1[i]>nums2[j])?nums1[i--]:nums2[j--];        }       //如果是nums1还没填完 则无需动作,因为本来就在nums1上进行修改的        while(j>-1)        nums1[k--] = nums2[j--];    }



一句话

while(n>0)nums1[m+n-1]=(m==0||nums2[n-1]>nums1[m-1])?nums2[--n]:nums1[--m];


0 0
原创粉丝点击