Easy to understand java solution(0 ms) with a comment


  • 0
    D
    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>=0 && j>=0){
                nums1[k--] = nums1[i]>nums2[j]?nums1[i--]:nums2[j--];
            }
            while(j>=0){
                nums1[k--] = nums2[j--];
            }
            //we dont need to do while(i>=0) because i belongs to nums1 and they will be already in place
        }
    '''

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.