var combineResult []int
//通过递归合并两个有序切片
func combineSortedSlice(n1, n2 []int) {
if len(n1) == 0 {
combineResult = append(combineResult, n2...)
return
}
if len(n2) == 0 {
combineResult = append(combineResult, n1...)
return
}
if n1[0] < n2[0] {
combineResult = append(combineResult, n1[0])
combineSortedSlice(n1[1:], n2)
} else {
combineResult = append(combineResult, n2[0])
combineSortedSlice(n1, n2[1:])
}
}
func main() {
s1 := []int{1, 4, 5}
s2 := []int{1, 3, 4}
combineSortedSlice(s1, s2)
fmt.Println(combineResult)
}
输出结果: [1 1 3 4 4 5]
合并两个有序链表:Golang通过递归合并两个有序链表_skh2015java的博客-CSDN博客https://skaygo.blog.csdn.net/article/details/122682897