题目描述
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
限制:
0 <= 链表长度 <= 1000
注意:本题与主站 21 题相同:https://leetcode-cn.com/problems/merge-two-sorted-lists/
通过次数61,236提交次数83,165
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
/*** Definition for singly-linked list.* function ListNode(val) {* this.val = val;* this.next = null;* }*//*** @param {ListNode} l1* @param {ListNode} l2* @return {ListNode}*/var mergeTwoLists = function(l1, l2) {if (l1 === null) return l2;if (l2 === null) return l1;let root = null;if (l1.val < l2.val) {root = new ListNode(l1.val);l1 = l1.next;} else {root = new ListNode(l2.val);l2 = l2.next;}let now = root;while (l1 || l2) {if (l1 === null) {now.next = l2;break;}if (l2 === null) {now.next = l1;break;}if (now.val === l1.val || l1.val <= l2.val) {now.next = new ListNode(l1.val);now = now.next;l1 = l1.next;} else if (now.val === l2.val || l2.val <= l1.val) {now.next = new ListNode(l2.val);now = now.next;l2 = l2.next;}}return root;};
