Leetcode 题目解析之 Merge Sorted Array

2022-01-09 11:37:25 浏览数 (1)

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:

You may assume that nums1 has enough space (size that is greater or equal to m n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

代码语言:txt复制
    public int help(int[] nums, int k) {
        if (k < 0) {
            return Integer.MIN_VALUE;
        }
        return nums[k];
    }
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        if (nums1 == null || nums2 == null) {
            return;
        }
        int t = m   n - 1;
        while (t >= 0) {
            int n1 = help(nums1, m - 1);
            int n2 = help(nums2, n - 1);
            if (n1 > n2) {
                nums1[t] = n1;
                m--;
            } else {
                nums1[t] = n2;
                n--;
            }
            t--;
        }
    }

0 人点赞