| 1234567891011121314151617181920212223242526272829303132 |
- package main
- import (
- "strings"
- "fmt"
- "math"
- )
- func merge(nums1 []int, m int, nums2 []int, n int) {
- nums := make([]int, 0)
- i, j := 0, 0
- // pit: add the smaller one "once a time"
- for i < m && j < n {
- if nums1[i] < nums2[j] {
- nums = append(nums, nums1[i])
- i++
- } else {
- nums = append(nums, nums2[j])
- j++
- }
- }
- if i == m && j == n {
- } else if i == m {
- nums = append(nums, nums2[j:]...)
- } else {
- nums = append(nums, nums1[i:]...)
- }
- for i = 0; i < m + n; i++ {
- nums1[i] = nums[i]
- }
- }
|