【LeetCode热题100(27/100)】合并两个有序链表
题目地址:链接
题目地址: 新建一个指针 head,通过比较 list1 和 list2,将更小的值接到 head 后。当其中一个链表遍历完毕后,将剩余的非空链表接到已合并到列表中,最终返回 head.next。
/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val = (val===undefined ? 0 : val)* this.next = (next===undefined ? null : next)* }*/
/*** @param {ListNode} list1* @param {ListNode} list2* @return {ListNode}*/
var mergeTwoLists = function(list1, list2) {const head = new ListNode();let q = head;while(list1 && list2) {let val;if(list1.val < list2.val) val = list1.val, list1 = list1.next;else val = list2.val, list2 = list2.next;q.next = new ListNode(val);q = q.next;}while(list1) {let val = list1.val;list1 = list1.next;q.next = new ListNode(val);q = q.next;}while(list2) {let val = list2.val;list2 = list2.next;q.next = new ListNode(val);q = q.next;}return head.next;
};