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

合并两个有序链表C++

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

/*** 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) {if(list1==nullptr) return list2;if(list2==nullptr) return list1;// 创建哨兵节点作为新链表的头ListNode* dummy = new ListNode(0);ListNode* current = dummy;  // 当前节点指针// 双指针ListNode* l1 = list1;ListNode* l2 = list2;while(l1 && l2){// l1中的值比较小,插值if(l1->val <= l2->val){// 将l1连接到当前链表尾部current->next = l1;l1 = l1->next;}else{// 将l2连接到当前链表尾部current->next = l2;l2 = l2->next;}current = current->next;  // 移动当前指针}if(l1){current->next = l1;}if(l2){current->next = l2;}// 返回哨兵节点的下一个节点(真正的头节点)return dummy->next;}
};
http://www.lryc.cn/news/572928.html

相关文章:

  • 深入理解XGBoost(何龙 著)学习笔记(五)
  • 网络编程简介与Netty实战:从入门到高性能Echo服务器
  • 6、ZYNQ PL UART串口(一)
  • 【JS-4.1-DOM获取元素操作】深入理解DOM操作:高效获取页面元素的方法与实践
  • WebGL图形学总结(二)
  • Python开发中虚拟环境的意义
  • 零基础入门PCB设计 一实践项目篇 第四章(STM32开发板PCB设计)
  • MAC环境安装Appium+JAVA
  • Supervisor进程管理
  • 数据结构-顺序表-求基数乘积
  • 阿里云申请ssl证书,同时需要绑定域名,下载nginx压缩包,nginx添加证书路径即可
  • 云徙科技 OMS:让订单管理变得轻松又高效
  • 联邦学习时间开销优化:现状、挑战与研究进展
  • C#的Dynamic、Object、Var
  • 什么是Vue.js
  • Linux -- 线程、锁
  • 大模型Text2SQL之在CentOS上使用yum安装与使用MySQL
  • LeetCode 680.验证回文串 II
  • 大模型在肺癌预测及个性化诊疗方案中的应用研究
  • 数据结构-顺序表-数值统计
  • 如何自建服务器并开启公网IP:本地内网网址让外网访问详细教学
  • Nginx常见功能
  • 基于YOLO的语义分割实战(以猪的分割为例)
  • “地标界爱马仕”再启:世酒中菜联袂陈汇堂共筑新会陈皮顶奢产业
  • C++11 GC Interface:从入门到精通
  • 如何正确处理音频数据:16位整数与32位浮点数
  • JVM对象内存分配机制全解析
  • CSS Content符号编码大全
  • 「AI高校」| 《清华大学:AI赋能教育高考志愿填报工具使用指南》
  • 榕壹云婚恋相亲系统:ThinkPHP+UniApp打造高效婚配平台