题目:88. 合并两个有序数组
易错点:
- 注意 判断i合法,不可以写if nums[i] 会下标越界
- 掌握好边界条件,num1[i] 和nums2[j]大于或者大于等于都可以。
代码示例:
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.
"""
# 从尾部遍历
i = m - 1
j = n - 1
cur = m + n - 1
# 遍历哪个?遍历j.
# 因为要把j里面,也就是nums2的数据移动到num1中
while j >=0:
if i>=0 and nums1[i] >= nums2[j]:
nums1[cur] = nums1[i]
cur -= 1
i -= 1
else:
nums1[cur] = nums2[j]
cur -= 1
j -= 1
扩展写法:
总结:
- 加油干!!为了自由!!
参考:
文档:https://ahym1n4sq5.feishu.cn/docx/QmqGdGQiMoVm22xyz9fcZUcTnUe