合并有序链表
合并有序链表
https://www.nowcoder.com/practice/a479a3f0c4554867b35356e0d57cf03d?tpId=196&&tqId=37069&rp=1&ru=/ta/job-code-total&qru=/ta/job-code-total/question-ranking
分两步:
1 在两个链表都没走到尾进行合并。
2 在至少一个走到尾部的时候再进行判断处理。
public ListNode mergeTwoLists (ListNode l1, ListNode l2) {
// write code here
ListNode pre=new ListNode(0);
ListNode res=pre;
while(l1!=null && l2!=null){
if(l1.val>l2.val){
pre.next=l2;
pre=l2;
l2=l2.next;
}else{
pre.next=l1;
pre=l1;
l1=l1.next;
}
}
while(l1!=null){
pre.next=l1;
pre=l1;
l1=l1.next;
}
while(l2!=null){
pre.next=l2;
pre=l2;
l2=l2.next;
}
return res.next;
}