当前位置: 首页 > news >正文

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

21. 合并两个有序链表

https://leetcode.cn/problems/merge-two-sorted-lists/description/

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

在这里插入图片描述

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        ListNode *p1 = list1, *p2 = list2;
        ListNode* ans = new ListNode();
        ListNode* p3 = ans;

        while (p1 && p2) {
            if (p1->val > p2->val) {
                p3->next = p2;
                p2 = p2->next;
            } else {
                p3->next = p1;
                p1 = p1->next;
            }
            p3 = p3->next;
        }
        if (p1) {
            p3->next = p1;
        }
        if (p2) {
            p3->next = p2;
        }
        return ans->next;
    }
};

相关文章:

  • 基于deepseek的智能语音客服【第四讲】封装milvus数据库连接池封装
  • Spring事务和事务传播机制
  • 浏览器自动携带cookie注意事项
  • 12:表的内外连接
  • LVGL学习1
  • 数据库练习2
  • 图像回归评价的常用指标
  • 个人学习编程(3-22) leetcode刷题
  • C++智能指针详解
  • 蓝桥杯备赛 背包问题
  • [项目]基于FreeRTOS的STM32四轴飞行器: 十一.MPU6050配置与读取
  • 建筑安全员考试:“实战演练” 关键词助力的答题提升策略
  • Sqlite3数据库
  • 客服机器人怎么才能精准的回答用户问题?
  • Linux shell脚本-概述、语法定义、自定义变量、环境变量、预设变量、变量的特殊用法(转义字符、单双引号、大小括号)的验证
  • Labview和C#调用KNX API 相关东西
  • 《深度剖析:鸿蒙系统不同终端设备的UI自适应布局策略》
  • Linux系统管理与编程06:任务驱动综合应用
  • APIJSON快速入门
  • 西门子仿真实例位置
  • 中日友好医院通报“医师肖某被举报”:基本属实,开除党籍并解聘
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录
  • 他比李白接地气,比杜甫乐观,比白居易刚毅
  • 四川一国企“80后”掌门人为报领导“知遇之恩”,盲目决策致数亿损失
  • 白酒瓶“神似”北京第一高楼被判侵权,法院一审判赔45万并停售
  • 传媒湃︱《金陵晚报》副刊“雨花石”5月起改为免费刊登