21-合并两个有序链表

思路:很简单,两个指针cur1,cur2分别指向l1,l2,当cur1,cur2都不空时,比较两个指针指向的节点的数值,把小的那个接到结果res上,之后这个cur1/cur2后移
当这个循环结束后,有可能剩下一个没被遍历到的链表(因为两个链表长度可能不一样),所有再写俩循环就行。
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode cur1=l1;
ListNode cur2=l2;
ListNode res=new ListNode(0);
ListNode biaoji=res;
while(cur1!=null&&cur2!=null)
{
if(cur1.val<=cur2.val)
{
res.next=cur1;
res=res.next;
cur1=cur1.next;
}
else
{
res.next=cur2;
res=res.next;
cur2=cur2.next;
}
}
while(cur1!=null)
{
res.next=cur1;
res=res.next;
cur1=cur1.next;
}
while(cur2!=null)
{
res.next=cur2;
res=res.next;
cur2=cur2.next;
}
return biaoji.next;
}
}

浙公网安备 33010602011771号