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

合并两个排序链表

一、题目

输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。

数据范围

链表长度 [0,500][0,500]。

样例
输入:1->3->5 , 2->4->5输出:1->2->3->4->5->5

 二、思路

创建一个任意值的dummy结点,cur结点指向dummy结点,对l1,l2所在位置的值进行判断,谁小就把谁放在cur的下一个,小的那个链表(l1或l2)后移,同时将cur后移,当l1或者l2走到末尾,说明l2或者l1所剩的元素都大于等于l1或者l2的最后的元素,所以直接拼接上就行,新的链表头结点为dummy的下一个结点,返回dummy的下一个结点。

三、代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* merge(ListNode* l1, ListNode* l2) {ListNode *dummy = new ListNode(0);ListNode *cur = dummy;while(l1 && l2){if(l1 -> val < l2 -> val){//先放小的cur -> next = l1;l1 = l1 -> next;}else{//l2小 或者相等cur -> next = l2;l2 = l2 -> next;}cur = cur -> next;}cur -> next = (l1 == NULL)?l2 : l1;return dummy -> next;}
};

相关文章:

  • 【Python】已完美解决:(Python键盘中断报错问题) KeyboardInterrupt
  • uniapp自定义的下面导航
  • 基于Python的AI动物识别技术研究
  • 酷开科技丨酷开系统重塑家庭娱乐生态,开启家庭生活新体验
  • RAG系统进阶(五)文本分割优化技巧及代码
  • Spring学习笔记
  • Linux基础IO【II】
  • RuoyiAdmin项目搭建及Docker 部署备忘
  • 【FreeRTOS】创建第一个多任务程序
  • Polar Web【简单】upload
  • 苹果WWDC重磅发布的IOS 18、Apple Intelligence背后的技术分析!
  • [消息队列 Kafka] Kafka 架构组件及其特性(二)Producer原理
  • 【通信协议-RTCM】RTCM通信协议常用英文缩写词汇对照表
  • CCNA 0基础入门
  • AOSP12隐藏首页搜索框----隐藏google 搜索栏
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • android图片蒙层
  • JS数组方法汇总
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Objective-C 中关联引用的概念
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Tornado学习笔记(1)
  • 百度小程序遇到的问题
  • 从输入URL到页面加载发生了什么
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • - 概述 - 《设计模式(极简c++版)》
  • 检测对象或数组
  • 理解在java “”i=i++;”所发生的事情
  • 温故知新之javascript面向对象
  • 我的zsh配置, 2019最新方案
  • 项目管理碎碎念系列之一:干系人管理
  • 《码出高效》学习笔记与书中错误记录
  • elasticsearch-head插件安装
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • #pragam once 和 #ifndef 预编译头
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $.ajax()方法详解
  • (1)Nginx简介和安装教程
  • (9)STL算法之逆转旋转
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)ssm高校实验室 毕业设计 800008
  • (论文阅读11/100)Fast R-CNN
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (四)事件系统
  • (转)大道至简,职场上做人做事做管理
  • (转)关于多人操作数据的处理策略
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .netcore如何运行环境安装到Linux服务器
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作