class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode dump = new ListNode(-1); ListNode p = dump; while(l1!=null && l2!=null){ if(l1.val<=l2.val){ p.next = new ListNode(l1.val); p = p.next; l1 = l1.next; }else{ p.next = new ListNode(l2.val); p = p.next; l2 = l2.next; } } if (l1!=null){ p.next = l1; } if(l2!=null){ p.next = l2; } return dump.next; } }
方法二:
递归
public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1== null) return l2; if(l2 == null) return l1; ListNode head = null; if(l1.val<=l2.val){ head = l1; head.next = mergeTwoLists(l1.next,l2); }else{ head = l2; head.next = mergeTwoLists(l1,l2.next); } return head; }