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

c语言练习91:合并两个有序链表

合并两个有序链表

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

代码1:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){//判断链表是否为空if(list1==NULL){return list2;}if(list2==NULL){return list1;}//走到这里说明链表不为空,遍历链表ListNode*cur1=list1;ListNode*cur2=list2;ListNode*newhead,*newtail;newhead=newtail=NULL;while(cur1&&cur2){//1.空链表的情况下:插入的结点就是链表的头结点和尾结点//2.非空链表:插入的结点是链表的新的尾结点,头结点不变if(cur1->val<cur2->val){if(newhead==NULL){newhead=newtail=cur1;}else{newtail->next=cur1;newtail=newtail->next;}cur1=cur1->next;}else{//cur2<=cur1if(newhead==NULL){newhead=newtail=cur2;}else{newtail->next=cur2;newtail=newtail->next;}cur2=cur2->next;}}if(cur1){newtail->next=cur1;}if(cur2){newtail->next=cur2;}return newhead;
}

优化:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){//判断链表是否为空if(list1==NULL){return list2;}if(list2==NULL){return list1;}//走到这里说明链表不为空,遍历链表ListNode*cur1=list1;ListNode*cur2=list2;ListNode*newhead,*newtail;//newhead为哨兵卫newhead=newtail=(ListNode*)malloc(sizeof(ListNode));// ListNode*newhead,*newtail;// newhead=newtail=NULL;while(cur1&&cur2){//1.空链表的情况下:插入的结点就是链表的头结点和尾结点//2.非空链表:插入的结点是链表的新的尾结点,头结点不变if(cur1->val<cur2->val){//     if(newhead==NULL){//         newhead=newtail=cur1;//     }//     else{//         newtail->next=cur1;//         newtail=newtail->next;//     }newtail->next=cur1;newtail=newtail->next;cur1=cur1->next;}else{//cur2<=cur1// if(newhead==NULL){//     newhead=newtail=cur2;// }// else{//     newtail->next=cur2;//     newtail=newtail->next;// }newtail->next=cur2;newtail=newtail->next;cur2=cur2->next;}}if(cur1){newtail->next=cur1;}if(cur2){newtail->next=cur2;}ListNode*returnhead=newhead->next;free(newhead);return returnhead;
}

相关文章:

c语言练习91:合并两个有序链表

合并两个有序链表 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码1&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct Li…...

【Qt控件之QTabBar】介绍及使用

概述 QTabBar类提供了一个选项卡栏&#xff0c;例如用于选项卡对话框。 QTabBar非常简单易用&#xff0c;它使用预定义的形状绘制选项卡&#xff0c;并在选择选项卡时发出信号。它可以被子类化以调整外观和感觉。Qt还提供了一个实现好的QTabWidget。 每个选项卡具有一个tabT…...

最新Tuxera NTFS2023最新版Mac读写NTFS磁盘工具 更新详情介绍

Tuxera NTFS for Mac是一款Mac系统NTFS磁盘读写软件。在系统默认状态下&#xff0c;MacOSX只能实现对NTFS的读取功能&#xff0c;Tuxera NTFS可以帮助MacOS 系统的电脑顺利实现对NTFS分区的读/写功能。Tuxera NTFS 2023完美兼容最新版本的MacOS 11 Big Sur&#xff0c;在M1芯片…...

AndroidX使用Paho MQTT报找不到android/support/v4/content/LocalBroadcastManager

网上有直接引用support-v4包的&#xff0c;但我用的AndroidX&#xff0c;不能为这个类再引用support-v4 直接自己创建这个类&#xff0c;把androidx.localbroadcastmanager.content.LocalBroadcastManager改改就行。 虽然奇葩但能解决问题 package android.support.v4.content…...

Filter与Listener(过滤器与监听器)

1.Filter 1.过滤器概述 过滤器——Filter&#xff0c;它是JavaWeb三大组件之一。另外两个是Servlet和Listener 它可以对web应用中的所有资源进行拦截&#xff0c;并且在拦截之后进行一些特殊的操作 在程序中访问服务器资源时&#xff0c;当一个请求到来&#xff0c;服务器首…...

【刷题篇】反转链表

文章目录 一、206.反转链表二、92.反转链表 ||三、25. K 个一组翻转链表 一、206.反转链表 class Solution { public://使用头插//三个指针也可以ListNode* reverseList(ListNode* head) {if(headnullptr)return nullptr;ListNode* curhead;ListNode* newheadnew ListNode(0);L…...

【C语言小游戏--猜数字】

文章目录 前言1.游戏描述2.代码实现2.1打印菜单2.2构建基础框架2.3玩游戏2.3.1生成随机数2.3.1.1rand()2.3.1.2srand()2.3.1.3time() 2.3.2game() 2.4自己设定猜的次数 3.完整代码 前言 猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏&#xff0c;下…...

Vue计算属性computed和监听watch

1.计算属性 初衷&#xff1a;为了解决模块里面有太多的计算逻辑让模版难以维护。 计算属性可以依赖一个数据也可以依赖多个数据的变化 使用场景&#xff1a; 商品单价和数量改变时&#xff0c;商品总价更改。如果写在方法里面&#xff0c;那么每次修改商品单价和数量时都会…...

HTTP介绍 原理 消息结构 客户端请求 服务器响应 HTTP状态码

一、HTTP介绍二、HTTP工作原理HTTP三点注意事项 三、HTTP消息结构四、客户端请求消息五、服务器响应消息HTTP请求方法 七、HTTP响应头信息八、HTTP状态码&#xff08;HTTP Status Code&#xff09;下面是常见的HTTP状态码&#xff1a;HTTP状态码分类HTTP状态码列表 一、HTTP介绍…...

linux性能分析(五)如何学习linux性能优化

一 如何学习linux性能优化 强调&#xff1a; 由于知识记忆曲线以及某些知识点不常用,所以一定要注重复习思考&#xff1a; 如何进行能力转义以及能力嫁接? --> 真正站在巨人的肩膀上性能调优的目的&#xff1a; 不影响系统稳定性的资源最大利用化补充&#xff1a; 性能…...

1402. 做菜顺序 --力扣 --JAVA

题目 一个厨师收集了他 n 道菜的满意程度 satisfaction &#xff0c;这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间&#xff08;包含之前每道菜所花费的时间&#xff09;乘以这道菜的满意程度&#xff0c;也就是 time[i…...

Springboot踩坑-request body重复读问题

背景 在一次业务开发中&#xff0c;由于需要在拦截器中对一个http请求中request body内容做解析和判断&#xff0c;所以用了httpServletRequest的getInputStream解析了request body内容&#xff0c;之后导致了拦截器处理成功后&#xff0c;原来的业务接口处报request body not…...

C++ 类和对象(六)赋值运算符重载

1 运算符重载 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c; 也具有其返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型与参数列表与普通的函数类似。 函数名字为&#xff1a;关键字operator后面接需…...

rust学习-trait std::cmp::PartialEq、Eq、PartialOrd、Ord

PartialEq 介绍 pub trait PartialEq<Rhs = Self> whereRhs: ?Sized, {// Required method,后文有讲解这个注释fn eq(&self, other: &Rhs) -> bool;// Provided method,后文有讲解这个注释fn ne(&self, other: &Rhs) -> bool {... } }x.eq(y)…...

k8s pod根据指标自动扩缩容举例

目录 基于 内存 指标实现pod自动扩缩容 举例配置 基于 cpu 指标实现pod自动扩缩容 举例配置 基于请求数&#xff08;次/秒&#xff09; 指标实现pod自动扩缩容 举例配置 基于 http请求响应时间 (ms) 指标实现pod自动扩缩容 举例配置 基于 Java GC暂停时间 (ms) 指标实现…...

深、浅拷贝之间的关系

深、浅拷贝之间的关系 什么是赋值 赋值是将某一数值或对象赋给某个变量的过程&#xff0c;分为下面 2 部分 基本数据类型&#xff1a;赋值&#xff0c;赋值之后两个变量互不影响引用数据类型&#xff1a;赋址&#xff0c;两个变量具有相同的引用&#xff0c;指向同一个对象&…...

服务器数据恢复-某银行服务器硬盘数据恢复案例

服务器故障&分析&#xff1a; 某银行的某一业务模块崩溃&#xff0c;无法正常使用。排查服务器故障&#xff0c;发现运行该业务模块的服务器中多块硬盘离线&#xff0c;导致上层应用崩溃。 故障服务器内多块硬盘掉线&#xff0c;硬盘掉线数量超过服务器raid阵列冗余级别所允…...

仪器器材经营小程序商城的作用是什么

互联网发展下&#xff0c;数字化转型已经成为常态&#xff0c;仅依赖传统线下经营模式将很难再增长。 作为产品销售及客户维护度高的仪器器材行业&#xff0c;拥有自营商城平台是必要的&#xff0c;不仅可以解决以上难题&#xff0c;还利于打造自身品牌多渠道传播&#xff0c;…...

京东数据分析:2023年9月京东洗烘套装品牌销量排行榜!

鲸参谋监测的京东平台9月份洗烘套装市场销售数据已出炉&#xff01; 根据鲸参谋平台的数据显示&#xff0c;今年9月份&#xff0c;京东平台洗烘套装的销量为7100&#xff0c;环比下降约37%&#xff0c;同比增长约87%&#xff1b;销售额为6000万&#xff0c;环比下降约48%&#…...

论文阅读-多目标强化学习-envelope MOQ-learning

introduction 一种多目标强化学习算法&#xff0c;来自2019 Nips《A Generalized Algorithm for Multi-Objective Reinforcement Learning and Policy Adaptation》本文引用代码全部来源于论文中的链接。主要参考run_e3c_double.py文件 1 总体思想 1.将输入中加入多目标的偏…...

仅限首批200名AI工程师获取:多模态鲁棒性压力测试套件(含11类合成扰动+3D视觉-语音耦合故障注入)

第一章&#xff1a;多模态大模型鲁棒性提升方法 2026奇点智能技术大会(https://ml-summit.org) 多模态大模型在真实场景中常面临输入噪声、模态缺失、分布偏移与对抗扰动等挑战&#xff0c;鲁棒性不足将直接导致跨模态对齐失效、语义理解偏差甚至决策崩溃。提升鲁棒性需从数据…...

5个秘诀:用WeChatExporter永久保存你的微信聊天记忆宝库

5个秘诀&#xff1a;用WeChatExporter永久保存你的微信聊天记忆宝库 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾经因为手机内存不足而忍痛删除珍贵的聊天记录…...

保姆级教程:在Ubuntu 22.04上手动配置Ollama为Systemd服务(附用户权限管理详解)

深度解析&#xff1a;Ubuntu 22.04下Ollama的Systemd服务化与安全权限实践 在开源工具链中&#xff0c;Ollama作为轻量级模型服务框架正获得越来越多开发者的青睐。但生产环境中&#xff0c;简单的curl | sh安装方式往往隐藏着权限失控和服务不稳定的隐患。本文将彻底解构手动配…...

保姆级避坑指南:用ESP-IDF v5.0给虫洞ESP32S3-EYE编译UVC固件,解决屏幕不亮和下载失败

ESP32-S3 UVC摄像头开发实战&#xff1a;从固件编译到屏幕显示的深度排错指南 当你第一次拿到那块印着"ESP32-S3-EYE"的开发板时&#xff0c;脑海中可能已经浮现出无数创意项目——智能门铃、工业检测设备、甚至是一个DIY的视频会议终端。但现实往往比理想骨感得多&a…...

告别手动刷新:djSTOCK库存监控工具在Windows平台的实战配置与多通道告警集成

1. 为什么你需要djSTOCK库存监控工具 作为一个经常抢购热门数码产品的普通用户&#xff0c;我太理解那种每天手动刷新商品页面的痛苦了。特别是像大疆Osmo Pocket 3这样的爆款产品&#xff0c;经常刚补货就被抢光。传统的做法是每隔几分钟就手动刷新页面查看库存状态&#xff0…...

【EDUcoder实训作业题解】文件操作实战:从基础读写到高级处理

1. 文件操作入门&#xff1a;从HelloWorld开始 第一次接触文件操作时&#xff0c;很多人都会觉得这是个神秘的黑盒子。其实文件操作就像我们日常使用记事本一样简单&#xff0c;只不过是用代码来替代手动操作。让我们从一个最基础的例子开始 - 向文件中写入"HelloWorld&qu…...

Jimeng AI Studio开源大模型部署:支持国产昇腾/寒武纪平台的适配可能性分析

Jimeng AI Studio开源大模型部署&#xff1a;支持国产昇腾/寒武纪平台的适配可能性分析 1. 引言&#xff1a;当开源AI创作工具遇上国产算力 最近&#xff0c;一个名为Jimeng AI Studio的开源项目在开发者社区里引起了不小的讨论。它基于Z-Image-Turbo底座&#xff0c;主打极速…...

网盘直链下载助手:八大平台高速下载的专业解决方案

网盘直链下载助手&#xff1a;八大平台高速下载的专业解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...

PMD自定义规则开发终极指南:打造专属代码质量检查工具

PMD自定义规则开发终极指南&#xff1a;打造专属代码质量检查工具 【免费下载链接】pmd An extensible multilanguage static code analyzer. 项目地址: https://gitcode.com/gh_mirrors/pm/pmd PMD作为一款强大的多语言静态代码分析工具&#xff0c;允许开发者通过自定…...

【论文求生帖】AIGC检测又爆红?2026.4全网最全:国内外10大免费降AI率工具避坑指南

不知不觉间&#xff0c;2026年已经过去三分之一了&#xff0c;各大高校的查重系统也逐步部署好了。 其中最让人头痛的AIGC检测已经从“查不查”变成“查多严”了——知网去年底刚完成新一轮算法升级&#xff0c;检测识别能力直接拉升了15-18个百分点&#xff0c;不少同学去年底…...