0%

Leetcode21.Merge Two Sorted Lists

Leetcode21.Merge Two Sorted Lists

题目描述

1
2
3
4
5
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。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* 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;
}
}
-------------本文结束感谢您的阅读-------------

Welcome to my other publishing channels