Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
Solution:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null || l2 == null) return l1 == null ? l2 : l1; // init ListNode head; if(l1.val < l2.val) { head = new ListNode(l1.val); l1 = l1.next; } else { head = new ListNode(l2.val); l2 = l2.next; } ListNode node = head; // loop while(l1 != null && l2 != null) { if(l1.val < l2.val) { node.next = new ListNode(l1.val); node = node.next; l1 = l1.next; } else { node.next = new ListNode(l2.val); node = node.next; l2 = l2.next; } } while(l1 != null) { node.next = new ListNode(l1.val); node = node.next; l1 = l1.next; } while(l2 != null) { node.next = new ListNode(l2.val); node = node.next; l2 = l2.next; } return head; } }
No comments:
Post a Comment