LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub
class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        k = m + n - 1
        while m > 0 and n > 0:
            if nums1[m - 1] > nums2[n - 1]:
                nums1[k] = nums1[m - 1]
                m -= 1
            else:
                nums1[k] = nums2[n - 1]
                n -= 1
            k -= 1
        nums1[:n] = nums2[:n]

数组 简单 每日一题

本题关键是:nums1 的后半部分是空的,所以从后往前插,保证不会覆盖原数组

https://leetcode-cn.com/problems/merge-sorted-array/