Fork me on GitHub

LeetCode-021-合并两个有序链表

题目描述

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例

1
2
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

思路

一者为Null,返回另一个,其次比较大小,小的放在新ListNode中,递归调用,返回结果

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if (l1 == null){
return l2;
}
if (l2 == null){
return l1;
}
ListNode l3 = null;
if (l1.val <= l2.val){
l3 = l1;
l3.next = mergeTwoLists(l1.next,l2);
return l3;
}else {
l3 = l2;
l3.next = mergeTwoLists(l1,l2.next);
return l3;
}
}
}

```