| 123456789101112131415161718192021222324252627282930313233343536 | 
							- package main
 
- import (
 
- 	"fmt"
 
- )
 
- 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]
 
- 	}
 
- }
 
- func test88() {
 
- 	n1 := []int{1, 1, 2, 9, 0, 0, 0}
 
- 	n2 := []int{2, 3, 3}
 
- 	merge(n1, 4, n2, 3)
 
- 	fmt.Println(n1)
 
- }
 
 
  |