问题描述:
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.
代码:
import java.util.List;
public class Merge_Two_Sorted_Lists { //java
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l2 == null)
return l1;
if(l1 == null)
return l2;
ListNode tmp1 = l1;
ListNode tmp2 = l2;
ListNode head = new ListNode(0);
ListNode result = head;
while(tmp1 != null && tmp2 != null){
if(tmp1.val > tmp2.val){
ListNode node = new ListNode(tmp2.val);
result.next = node;
result = result.next;
tmp2 = tmp2.next;
}
else{
ListNode node = new ListNode(tmp1.val);
result.next = node;
result = result.next;
tmp1 = tmp1.next;
}
}
if(tmp2 == null)
result.next = tmp1;
else result.next = tmp2;
return head.next;
}
}