【LeetCode】合并两个有序链表

  1. 合并两个有序链表

LeetCode地址:合并两个有序链表
题目描述:

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

示例 1:
在这里插入图片描述

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

实例2

输入:l1 = [], l2 = []
输出:[]

实例3

输入:l1 = [], l2 = [0]
输出:[0]

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • 100 <= Node.val <= 100
  • l1 和 l2 均按非递减顺序排列

AC代码:

/**
 * 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 list1, ListNode list2) {
        if(list1 == null) {
            return list2;
        }
        if(list2 == null) {
            return list1;
        }
        if(list1.val < list2.val) {
            list1.next = mergeTwoLists(list1.next, list2);
            return list1;
        } else {
            list2.next = mergeTwoLists(list1, list2.next);
            return list2;
        }
    }
}

努力不一定成功,但不努力一定不成功,要相信越努力,越幸运!


版权声明:本文为weixin_46946002原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。