# 合并排序链表
# 题目
输入两个单调递增的链表,输出两个链表合成后的链表,合成后的链表仍然满足单调递增规则。
# 思路
- 链表头部节点比较,取较小节点
- 小节点的next等于小节点的next和大节点的较小值。
# 代码
function ListNode(x) {
this.val = x
this.next = null
}
// 1,3,5,7
// 2,4,6,8
// 1,3,5,7
// 2,4,6,8
// 1,2
// 3,5,7
// 4,6,8
function merge(head1, head2) {
if (!head1) return head2
if (!head2) return head1
let head
if (head1.val < head2.val) {
head = head1
head.next = merge(head1.next, head2)
} else {
head = head2
head.next = merge(head1, head2.next)
}
return head
}
← 两个链表的第一个公共节点 两数之和 →