面试算法-160-合并两个有序链表

题目

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

示例 1:

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

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

java 复制代码
class Solution {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode dummy = new ListNode(0);
        ListNode p3 = dummy;
        ListNode p1 = list1;
        ListNode p2 = list2;
        while (p1 != null && p2 != null) {
            if (p1.val <= p2.val) {
                p3.next = p1;
                p1 = p1.next;
            } else {
                p3.next = p2;
                p2 = p2.next;
            }

            p3 = p3.next;
        }

        p3.next = p1 == null ? p2 : p1;
        return dummy.next;
    }
}
相关推荐
RTC老炮4 分钟前
webrtc弱网-ReceiveSideCongestionController类源码分析及算法原理
网络·算法·webrtc
21号 16 分钟前
9.Redis 集群(重在理解)
数据库·redis·算法
hadage2332 小时前
--- 数据结构 AVL树 ---
数据结构·算法
liu****2 小时前
8.list的使用
数据结构·c++·算法·list
阿拉丁的梦2 小时前
后期材质-屏幕冲击径向模糊
算法·材质
weixin_429630263 小时前
实验二-决策树-葡萄酒
算法·决策树·机器学习
茉莉玫瑰花茶3 小时前
floodfill 算法(dfs)
算法·深度优先
CoderCodingNo4 小时前
【GESP】C++五级考试大纲知识点梳理, (5) 算法复杂度估算(多项式、对数)
开发语言·c++·算法
MYX_3094 小时前
第三章 线型神经网络
深度学习·神经网络·学习·算法
沐怡旸5 小时前
【穿越Effective C++】条款02:尽量以const, enum, inline替换#define
c++·面试