21. 合并两个有序链表
迭代
var mergeTwoLists = function(list1, list2) {
const prehead=new ListNode(-1);//定义一个头结点为-1的链表
let pre=prehead;//新链表指针
while(list1!==null&list2!==null){
if(list1.val<=list2.val){
pre.next=list1;
list1=list1.next;
}else{
pre.next=list2;
list2=list2.next;
}
pre=pre.next;
}
pre.next=list1===null?list2:list1;
return prehead.next;
};
反转链表
var reverseList = function(head) {
let pre=null;
let cur=head;
while(cur!==null){
let temp=cur.next;
cur.next=pre;
pre=cur;//让指针指向现在的位置
cur=temp;
}
return pre;
};