Description:
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.
Example:
Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4
Solution:
public class Solution {
public ListNode mergeTwoLists(ListNode node1, ListNode node2) {
ListNode mergedResultPreHead = new ListNode(0);
ListNode p = mergedResultPreHead;
if (node1 == null && node2 == null) {
return null;
}
while (node1 != null && node2 != null) {
if (node1.val <= node2.val) {
p.next = node1;
node1 = node1.next;
} else {
p.next = node2;
node2 = node2.next;
}
p = p.next;
}
if (node1 != null) {
p.next = node1;
} else {
p.next = node2;
}
return mergedResultPreHead.next;
}
}