[Leetcode] Merge Two Sorted Lists

 1 public class Solution {
 2     public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
 3         ListNode dummy1 = new ListNode(0), dummy2 = new ListNode(0), dummy3 = new ListNode(0), tail = dummy3;
 4         dummy1.next = l1;
 5         dummy2.next = l2;
 6         dummy3.next = null;
 7         while(l1 != null && l2 != null) {
 8             ListNode minNode = l1.val < l2.val ? l1 : l2;
 9             ListNode minDummy = l1.val < l2.val ? dummy1 : dummy2;
10             minDummy.next = minNode.next;
11             l1 = minNode == l1 ? l1.next : l1;
12             l2 = minNode == l2 ? l2.next : l2;
13             minNode.next = null;
14             tail.next = minNode;
15             tail = tail.next;
16         }
17         
18         tail.next = l1 == null ? l2 : l1;
19         
20         return dummy3.next;
21     }
22 }

 

posted @ 2015-11-30 17:37  爪哇国臣民  阅读(132)  评论(0编辑  收藏  举报