代码

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即可 后面用循环拷贝也可,效率双百分之百,刷题的伙伴可以参考一下。

新手上路不足之处请多多指正。