任务描述
思路
- 从两个数组末尾元素开始对比,尾部插入较大元素
- 注意值传递和参数传递的区别
代码实现
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.
"""
if m==0:
nums1[:] = nums2[:]
return
if not nums2:
return
i,j = len(nums2)-1,m-1
while i>=0:
# print(nums1)
while j>=0 and nums2[i]<nums1[j]:
print(i,j)
j -= 1
nums1.insert(j+1,nums2[i])
i -= 1
j += 1
nums1.pop()