关键思路从后往前合并

 

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int idxm=m-1;
        int idxn=n-1;
        int sum=m+n-1;
        while(idxm>=0&&idxn>=0){
            if(nums1[idxm]==nums2[idxn]){
                nums1[sum--]=nums1[idxm--];
                nums1[sum--]=nums2[idxn--];
            }else if(nums1[idxm]>nums2[idxn]){
                nums1[sum--]=nums1[idxm--];
            }else if(nums1[idxm]<nums2[idxn]){
                nums1[sum--]=nums2[idxn--];
            }
        }
        while(idxn>=0){
            nums1[idxn]=nums2[idxn];
            idxn--;
        }
        
    }
}

 

相关文章:

  • 2022-12-23
  • 2021-06-13
  • 2022-12-30
  • 2021-12-16
  • 2022-03-14
  • 2021-06-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-14
  • 2022-02-23
  • 2022-12-23
相关资源
相似解决方案