Leetcode21.Merge Two Sorted Lists
题目描述
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
思路
思路:两个指着(程序中直接使用ListNode)如果当前l1的value大于l2的value则将l2的值赋给result,
然后递归比较l1和l2.next。如果当前l1的value小于l2的value则将l1的值赋给result,然后递归比较l2和l1.next。
代码
/**
* 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 l1, ListNode l2) {
if(l1==null)
return l2;
if(l2==null)
return l1;
ListNode result;
if(l1.val<l2.val){
result=l1;
result.next=mergeTwoLists(l1.next,l2);
}else{
result = l2;
result.next = mergeTwoLists(l1,l2.next);
}
return result;
}
}