解题思路:
这题有点像合并两个有序数组,定义一个临时的头结点,将两个链表的头结点的值进行比较,哪个小作为头结点,然后交叉比较两个链表,比较值的大小,小的房前面,形成有序,大致思路就是这样:
publicListNodemergeTwoLists(ListNodelist1, ListNodelist2) { ListNodenewHead=newListNode(); ListNodetmp=newHead; while (list1!=null&&list2!=null) { if (list1.val<list2.val) { tmp.next=list1; list1=list1.next; tmp=tmp.next; } else { tmp.next=list2; list2=list2.next; tmp=tmp.next; } } if (list1!=null) { tmp.next=list1; } if (list2!=null) { tmp.next=list2; } //返回新的头结点returnnewHead.next; }