/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pHead1 ListNode类
* @param pHead2 ListNode类
* @return ListNode类
*/
function Merge( pHead1 , pHead2 ) {
// write code here
let l1=pHead1;
let l2=pHead2;
let node=new ListNode(0);
let result=node;
while(l1!=null && l2!=null){
if(l1.val>l2.val){
node.next=l2;
l2=l2.next;
} else {
node.next=l1;
l1=l1.next;
}
node=node.next;
}
node.next = l1 !== null ? l1 : l2;
return result.next;
}
module.exports = {
Merge : Merge
};
还有一种递归做法
/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pHead1 ListNode类
* @param pHead2 ListNode类
* @return ListNode类
*/
function Merge( pHead1 , pHead2 ) {
if (pHead1 == null) return pHead2
if (pHead2 == null) return pHead1
if(pHead1.val<pHead2.val){
pHead1.next=Merge(pHead1.next,pHead2);
return pHead1;
}else {
pHead2.next=Merge(pHead1,pHead2.next);
return pHead2;
}
}
module.exports = {
Merge : Merge
};



京公网安备 11010502036488号