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.
"""
# 注意 这个题目的要求 nums1 不能换内存地址!!!
if n==0:
return
if m==0:
nums1[0:n]=nums2[0:n]
return
ind1,ind2=0,0
nums = nums1[0:m].copy()
k = 0
while ind1<m and ind2<n:
if nums[ind1]<=nums2[ind2]:
nums1[k]=nums[ind1]
ind1+=1
elif nums[ind1]>nums2[ind2]:
nums1[k]=nums2[ind2]
ind2+=1
k+=1
while ind2<n:
nums1[k]=nums2[ind2]
ind2+=1
k+=1
while ind1<m:
nums1[k]=nums[ind1]
ind1+=1
k+=1