leetcode有序鏈表的合併

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} l1
 * @param {ListNode} l2
 * @return {ListNode}
 */
function ListNode(val) {
         this.val = val;
         this.next = null;
    }
var mergeTwoLists = function (l1, l2) {
    var node = new ListNode();
     console.log(node)
    var ret=node;
     console.log(ret)
    while (l1 != null || l2 != null) {
     if(l1!=null&&l2!=null){
         if(l1.val<=l2.val){
             node.next=l1;   
             l1=l1.next;
         }else if(l1.val>l2.val){
             node.next=l2;
             l2=l2.next;
         }
         node=node.next;
     }else if(l1!=null){
       node.next=l1;
       break;
     }
     else{
         node.next=l2;
         break;
     }
         console.log(node)
    }
    console.log(ret.next)
    return ret.next;
};

控制檯的console.log輸出:

ListNode { val: undefined, next: null }
ListNode { val: undefined, next: null }
ListNode {val: 1,next: ListNode { val: 2, next: ListNode { val: 4, next: null } } }
ListNode {val: 1,next: ListNode { val: 3, next: ListNode { val: 4, next: null } } }
ListNode { val: 2, next: ListNode { val: 4, next: null } }
ListNode { val: 3, next: ListNode { val: 4, next: null } }
ListNode { val: 4, next: null }
ListNode {val: 1,next:ListNode { val: 1, next: ListNode { val: 2, next: [ListNode] } } }

相當於是一步步的迭代

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章