Skip to content

88.合并两个有序数组

题目连接

https://leetcode.cn/problems/merge-sorted-array/?envType=study-plan-v2&envId=top-interview-150

解题思路

双指针

参考这里.

go
// ⌚ 0ms 📀 2.4MB
func merge(nums1 []int, m int, nums2 []int, n int)  {
    f1 := 0
    f2 := 0
    temp := []int{}
    for f1 < m && f2 < n {
        if nums1[f1] <= nums2[f2] {
            temp = append(temp, nums1[f1])
            f1 += 1
        } else {
            temp = append(temp, nums2[f2])
            f2 += 1
        }
    }
    for f1 < m {
        temp = append(temp, nums1[f1])
        f1 += 1
    }
    for f2 < n {
        temp = append(temp, nums2[f2])
        f2 += 1
    }
    copy(nums1, temp)
}

采用 CC BY-NC 4.0 许可证发布