https://leetcode-cn.com/problems/merge-two-sorted-lists/description/
合併兩條有序鏈表,形成一條新的有序鏈表:用遞歸實現
1.如果其中一條鏈表爲空,那麼只需要接上(返回)另一條鏈表即可
2.兩條鏈表都不爲空的話就比較兩條鏈當前位置的值大小。左鏈小,就用小值創建一個新結點到合併鏈上,合併鏈的下一個結點則遞歸調用函數合併除掉已添加的點後的兩條鏈表
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1 == null)
return l2;
if(l2 == null)
return l1;
if(l1.val <= l2.val) {
ListNode l3 = new ListNode(l1.val);
l3.next = mergeTwoLists(l1.next,l2);
} else {
ListNode l3 = new ListNode(l2.val);
l3.next = mergeTwoLists(l1,l2.next);
}
return l3;
}
}