题目描述
- 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
解题思路
- 双指针
- 一个指针记录链表头节点
- 另一个指针记录链表新节点
解题代码(JavaScript)
var mergeTwoLists = function (l1, l2) {
// 头指针
let head = new ListNode(0);
// 记录链表新节点指针
let p = head;
// l1和l2两个链表都存在
// 比较节点值的大小移动指针记录链表节点
while (l1 && l2) {
if (l1.val <= l2.val) {
p.next = l1;
l1 = l1.next;
} else {
p.next = l2;
l2 = l2.next;
}
p = p.next;
}
// l2为空时
if (l1) {
p.next = l1;
}
// l1为空时
if (l2) {
p.next = l2;
}
return head.next;
};