不会飞的章鱼

熟能生巧,勤能补拙;念念不忘,必有回响。

Leetcode-88-Merge Sorted Array | 合并两个有序数组

题目链接

merge-sorted-array

解题思路

Golang

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
func merge(nums1 []int, m int, nums2 []int, n int)  {
nums := make([]int,n+m) //创建一个混合数组,长度是nums1和nums2的和
//三个变量i,j,k,分别指向nums1,nums2,和混合数组的末尾
for i,j,k := 0,0,0;i < m || j < n;k++ {
if i < m && j < n {
if nums1[i] < nums2[j] {
nums[k] = nums1[i]
i++
} else {
nums[k] = nums2[j]
j++
}
} else if i < m {
nums[k] = nums1[i]
i++
} else {
nums[k] = nums2[j]
j++
}
}
copy(nums1,nums) //把nums的数拷贝到nums1里
}

------ 本文结束------
如果本篇文章对你有帮助,可以给作者加个鸡腿~(*^__^*),感谢鼓励与支持!