LeetCode 21Merge Two Sorted Lists 合并两个排序链表 Java

**题目:**将两个已排序的链表合并在一起。

举例1:

输入:list1 = [1,2,4], list2 = [1,3,4];

输出:[1,1,2,3,4,4];

举例2:

输入:list1 = [] , list2 = [];

输出:[]

举例3:

输入: list1 = [] , list2 = [0];

输出: [0]

**解题思路:**遍历两个链表,比较节点值来合并链表,当其中一个链表遍历完成时,将另一个链表剩余部分拼入新链表。

java 复制代码
/**
 * 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) {
        ListNode head = new ListNode(0);
        ListNode currect = head;

        //比较节点,获取较小节点拼入
        while (list1 != null && list2 != null) {
            if (list1.val <= list2.val) {
                currect.next = list1;
                list1 = list1.next;
            } else {
                currect.next = list2;
                list2 = list2.next;
            }
            currect = currect.next;
        }

        //若其中一个链表已遍历完成,拼入另一个链表到新链表中
        if (list1 == null) {
            currect.next = list2;
        } else {
            currect.next = list1;
        }

        return head.next;
    }

}
相关推荐
逸狼几秒前
【Java 优选算法】链表
数据结构·链表
极客先躯6 分钟前
高级java每日一道面试题-2025年3月09日-微服务篇[Eureka篇]-说一说Eureka自我保护模式
java·微服务·eureka·自我保护机制
故事与他6457 分钟前
Apache中间件漏洞攻略
java·服务器·安全·网络安全·中间件·log4j·apache
茶本无香11 分钟前
Java Collection API增强功能系列之二 List.of、Set.of、Map.of
java·开发语言·list
幽络源小助理12 分钟前
SpringBoot古典舞在线交流平台设计与实现
java·开发语言·spring boot
遥不可及~~斌17 分钟前
深入理解Spring框架:核心概念与组成剖析
java·后端·spring
落霞与孤鹭齐飞。。18 分钟前
SSM社区生活超市管理
java·服务器·开发语言·数据库·生活·课程设计
哪吒编程38 分钟前
新项目终于用上了jdk24
java·后端
一只_程序媛39 分钟前
【leetcode hot 100 20】有效的括号
java·linux·leetcode
green5+11 小时前
LeetCode24两两交换链表中的节点
数据结构·链表