Sunday, February 16, 2014

Merge Two Sorted Lists @LeetCode

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.

package leetcode.linkedlist;
/**
* Solution: Better to create a dummy node as first node which makes works easier.
* Just simple problem, no algorithm in it. Take care of some details and make codes clean.
*
* @author jeffwan
* @date Feb 16, 2014
*/
public class MergeTwoLists {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode dummy = new ListNode(0);
ListNode head = dummy;
while(l1 != null && l2 != null) {
if (l1.val <= l2.val) {
head.next = l1;
l1 = l1.next;
} else {
head.next = l2;
l2 = l2.next;
}
head = head.next;
}
if (l1 != null) {
head.next = l1;
}
if (l2 != null) {
head.next = l2;
}
return dummy.next;
}
class ListNode {
int val;
ListNode next;
ListNode (int x) {
this.val = x;
}
}
}

No comments:

Post a Comment