88. 合并两个有序数组

图片说明

class Solution {
  public void merge(int[] nums1, int m, int[] nums2, int n) {
        int len = n + m -1;
        n--;
        m--;
        while(m>=0&&n>=0) {  //尾扫描 
            if(nums1[m]>nums2[n]) {
                nums1[len] = nums1[m];
                len--;
                m--;
            }
            else {
                nums1[len] = nums2[n];
                len--;
                n--;
            }
        }
//边界的处理
        while(n>=0){ //防止m=0 而n还没读完  如果n读完了 而m还没读完无所谓  也就是针对下面的案例 
            nums1[len] = nums2[n];
            n--;
            len--;
        }
    //[0]
    //0
    //[1]
    //1
    }
}
全部评论

相关推荐

01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务