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] } }