1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// @Title: 合并两个有序数组 (Merge Sorted Array)
// @Author: 15816537946@163.com
// @Date: 2020-02-20 09:23:34
// @Runtime: 0 ms
// @Memory: 2.3 MB
func merge(nums1 []int, m int, nums2 []int, n int)  {
    temp := make([]int, m)
    copy(temp, nums1)
    
    var j,k int
    for i:=0; i< len(nums1);i++ {
        if j >= m {
            nums1[i] = nums2[k]
            k++
            continue
        }
        
        if k >= n {
            nums1[i] = temp[j]
            j++
            continue
        }
        
        if temp[j] < nums2[k] {
            nums1[i] = temp[j]
            j++
        } else {
            nums1[i] = nums2[k]
            k++
        }
    }
}