fix 88: clean up redundant code

This commit is contained in:
novahe
2021-04-17 00:20:14 +08:00
parent 86fac4e139
commit d3c556bb5d

View File

@ -1,29 +1,16 @@
package leetcode
func merge(nums1 []int, m int, nums2 []int, n int) {
if m == 0 {
copy(nums1, nums2)
return
}
// 这里不需要,因为测试数据考虑到了第一个数组的空间问题
// for index := 0; index < n; index++ {
// nums1 = append(nums1, nums2[index])
// }
i := m - 1
j := n - 1
k := m + n - 1
// 从后面往前放,只需要循环一次即可
for ; i >= 0 && j >= 0; k-- {
if nums1[i] > nums2[j] {
nums1[k] = nums1[i]
i--
for p := m + n; m > 0 && n > 0; p-- {
if nums1[m-1] <= nums2[n-1] {
nums1[p-1] = nums2[n-1]
n--
} else {
nums1[k] = nums2[j]
j--
nums1[p-1] = nums1[m-1]
m--
}
}
for ; j >= 0; k-- {
nums1[k] = nums2[j]
j--
for ; n > 0; n-- {
nums1[n-1] = nums2[n-1]
}
}