代码
func merge(nums1 []int, m int, nums2 []int, n int) {
index := len(nums1) - 1
m = m - 1
n = n - 1
for m >= 0 && n >= 0 {
num1 := nums1[m]
num2 := nums2[n]
if num1 > num2 {
nums1[index] = num1
m--
} else {
nums1[index] = num2
n--
}
index--
}
if n >= 0 {
copy(nums1[0:n+1], nums2[0:n+1])
}
}
两个指针指向两个数组的最后面 如果最后nums2还有剩余直接copy到nums1即可 后面用循环拷贝也可,效率双百分之百,刷题的伙伴可以参考一下。
新手上路不足之处请多多指正。