88. 合并两个有序数组
-
解题思路:从后往前填数字即可
-
代码
class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: # 从后往前开始填充 L = m - 1 # nums1[0, L]是nums1 R = n - 1 cur = m + n - 1 # 现在需要填充的位置 while L >= 0 and R >= 0: if nums1[L] >= nums2[R]: nums1[cur] = nums1[L] cur -= 1 L -= 1 else: nums1[cur] = nums2[R] cur -= 1 R -= 1 # nums1没数了 把nums2剩下的拷贝过去即可 while R >= 0: nums1[cur] = nums2[R] cur -= 1 R -= 1 # 这里机时nums1还有数,也不用管了,因为就是放在num1的

浙公网安备 33010602011771号