[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 }