LeetCode-21:合并两个有序链表

题目:

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

思路:

LeetCode的官方答案给的通俗易懂,用递归的方法,每次比较两个链表的头结点,最小的那个与之后的合并链表相结合。这也是第一次遇到java链表的数据结构的题解,用的官方题解的代码。

代码:

class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if (l1 == null) {
            return l2;
        } else if (l2 == null) {
            return l1;
        } else if (l1.val < l2.val) {
            l1.next = mergeTwoLists(l1.next, l2);
            return l1;
        } else {
            l2.next = mergeTwoLists(l1, l2.next);
            return l2;
        }
    }
}

你可能感兴趣的:(LeetCode,链表,java)