LeetCode 1669. 合并两个链表
题目描述
思路分析
链表遍历
参考代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
func mergeInBetween(list1 *ListNode, a int, b int, list2 *ListNode) *ListNode {
dummy := &ListNode{Next: list1}
preA := dummy
preB := dummy
for i := 0; i < a; i++ {
preA = preA.Next
}
for i := 0; i < b+2; i++ {
preB = preB.Next
}
preA.Next = list2
tail := list2
for tail.Next != nil {
tail = tail.Next
}
tail.Next = preB
return list1
}
- 时间复杂度:O(n + m),其中
n
是list1
的长度,m
是list2
的长度。- 空间复杂度:O(1),除了返回的链表外,我们没有使用额外的空间。
1
write your code here
CC BY-NC-SA 4.0
许可协议,转载请注明出处!
本博客所有文章除特别声明外,均采用