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;
    }

}
相关推荐
To_OC4 小时前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC5 小时前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
吃饱了得干活11 小时前
Spring Cloud Gateway 微服务网关:路由、断言、过滤器
java·spring cloud
lwx5728012 小时前
探秘InnoDB:搞懂它的内存、线程、磁盘与日志刷盘策略
java·后端
Flynt14 小时前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
plainGeekDev15 小时前
Activity 间传值 → Navigation 参数
android·java·kotlin
plainGeekDev15 小时前
onActivityResult → ActivityResult API
android·java·kotlin
Sunia15 小时前
《AgentX 专栏》10-生产部署:3台2C4G云服务器把企业级Agent真正跑起来的完整方案
java·架构
ZhengEnCi16 小时前
J7A-高级Java工程师面试三道灵魂拷问-深度广度与工程素养的终极检验
java·后端
To_OC1 天前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode