合并两个有序链表
合并两个有序链表
思路:1.我们申请一个傀儡节点,其中傀儡节点的val域不使用
2.让list1和list2分别遍历,若list1.val<list2.val,就将list1的地址存放在傀儡节点的next域中
3.当list1或者list2不为空,一直遍历
4.最后返回新的节点的next域newhead.next
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode newhead=new ListNode(0);//此处的val值无所谓是谁,因为我们ListNode tmphead=newhead;while (list1!=null&&list2!=null){if(list1.val<=list2.val){tmphead.next=list1;tmphead=tmphead.next;list1=list1.next;}else {tmphead.next=list2;tmphead=tmphead.next;list2=list2.next;}}if(list1==null){tmphead.next=list2;}else {tmphead.next=list1;}return newhead.next;}
}