题意: 合并两个已排序链表并将其作为新列表返回。新列表应该通过拼接前两个列表的节点来完成。
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.
开始不了解链表,不知道ListNode的含义,看了答案才会写的。
这里用到了递归,链表本身就是一种递归的数据结构。
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1 == null){
return l2;
}
if(l2 == null){
return l1;
}
if(l1.val <= l2.val){
l1.next = mergeTwoLists(l1.next, l2);
return l1;
}
else{
l2.next = mergeTwoLists(l1, l2.next);
return l2;
}
}