合并两个排序链表

2018-10-10  本文已影响0人  我的天气很好啦

🍞环境:牛客的编译环境
🍰语言:JavaScript
☕️难点:
🍊题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
🌟解题思路:开辟一个新空间,来存放两个链表。
🍇我的代码:

/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function Merge(pHead1, pHead2)
{
    // write code here
    var node1 = pHead1,
        node2 = pHead2,
        arr = [];
    while(node1 != null && node2 != null){
        if(node1.val >= node2.val){
            arr.push(node2);
            node2 = node2.next;
        }
        else if(node1.val < node2.val){
            arr.push(node1);
            node1 = node1.next;
        }
    }
    if(node2 != null){
        while(node2){
            arr.push(node2);
            node2 = node2.next;
        }
    }
    else if(node1 != null){
        while(node1){
            arr.push(node1);
            node1 = node1.next;
        }
    }
    for(let i = 0; i < arr.length; i++){
        if(i + 1 < arr.length)
            arr[i].next = arr[i+1];
        else
            arr[i].next = null;
    }
    return arr[0];
}
上一篇下一篇

猜你喜欢

热点阅读