一、题目
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4]
二、思路
新建一个链表并保存他的头结点,遍历比较两个链表的值,将较小的值用一个新建的链表节点保存,并放入新建的链表末尾,同时较小值的链表指针后移一位,若其中一个链表不存在,则指针指向另一个链表即可。
三、代码展示
var mergeTwoLists = function(list1, list2) {
var res = new ListNode(); // 新建一个链表res
var head = res // 记录头结点
while(list1 && list2) {
if(list1.val < list2.val) { // 当比较出较小值
res.next = new ListNode(list1.val) // res新建一个节点链接在末尾
list1 = list1.next // 较小值对应链表指针移动一位
} else {