mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-06 09:23:19 +08:00
Merge pull request #115 from NovaHe/master
fix 88: clean up redundant code
This commit is contained in:
@ -1,29 +1,16 @@
|
|||||||
package leetcode
|
package leetcode
|
||||||
|
|
||||||
func merge(nums1 []int, m int, nums2 []int, n int) {
|
func merge(nums1 []int, m int, nums2 []int, n int) {
|
||||||
if m == 0 {
|
for p := m + n; m > 0 && n > 0; p-- {
|
||||||
copy(nums1, nums2)
|
if nums1[m-1] <= nums2[n-1] {
|
||||||
return
|
nums1[p-1] = nums2[n-1]
|
||||||
}
|
n--
|
||||||
// 这里不需要,因为测试数据考虑到了第一个数组的空间问题
|
|
||||||
// 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--
|
|
||||||
} else {
|
} else {
|
||||||
nums1[k] = nums2[j]
|
nums1[p-1] = nums1[m-1]
|
||||||
j--
|
m--
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for ; j >= 0; k-- {
|
for ; n > 0; n-- {
|
||||||
nums1[k] = nums2[j]
|
nums1[n-1] = nums2[n-1]
|
||||||
j--
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user