func merge(nums1 []int, m int, nums2 []int, n int) {
p1, p2 := m-1, n-1
for i := m + n - 1; i >= 0; i-- {
if p1 < 0 || p2 < 0 {
break
}
if nums1[p1] > nums2[p2] {
nums1[i] = nums1[p1]
p1--
} else {
nums1[i] = nums2[p2]
p2--
}
}
if p2 >= 0 {
copy(nums1, nums2[:p2+1])
}
}