方法:递归
若一个链表为空直接返回非空链表作为合并后的结果,若不为空,则选取节点值较小的那个作为新的链表的当前节点,将递归后的链表附在其后。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
if(list1 == null)
{
return list2;
}
else if(list2 == null)
{
return list1;
}
else if(list1.val < list2.val)
{
list1.next = mergeTwoLists(list1.next,list2);
return list1;
}
else
{
list2.next = mergeTwoLists(list1,list2.next);
return list2;
}
}
}