思路:很简单,两个指针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; } }