88. 合并两个有序数组
题目描述
解题思路
从末尾开始比较
代码实现
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.
从num1末尾开始比较
"""
mn = m + n - 1
m -= 1
n -= 1
while m >= 0 and n >= 0:
if nums1[m] >= nums2[n]:
nums1[mn] = nums1[m]
m -= 1
else:
nums1[mn] = nums2[n]
n -= 1
mn -= 1
# 把剩下num2填入num1
while n>= 0:
nums1[mn] = nums2[n]
n -= 1
mn -= 1