力扣题解:2、两数相加

个人认为,该题目可以看作合并两个链表的变种题,本题与21题不同的是,再处理两个结点时,对比的不是两者的大小,而是两者和是否大于10,加法计算中大于10要进位,所以我们需要声明一个用来标记是否进位的值。

解题思路:

1、直接从链表头部开始相加就是从数字的最低位开始相加。

2、同时遍历两个链表,将对应位置的数字相加,并考虑前一位的进位。

3、每次相加后,可能会有进位(即和大于等于10),需要将进位加到下一位的计算中。

4、如果两个链表长度不同,较短的链表在后续遍历中可以视为 0

5、如果遍历完所有节点后仍有进位,需要额外创建一个节点来存储这个进位。

代码:

struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) 
{struct ListNode* l3=malloc(sizeof(struct ListNode));struct ListNode* head=l3;int carry=0;
//两个链表不为空或有进位时,进行计算while(l1!=NULL||l2!=NULL||carry!=0){// 初始化和为当前进位int sum=carry;if(l1!=NULL){
// 如果 l1 不为空,累加 l1 的当前值,并移动 l1 到下一个节点sum+=l1->val;l1=l1->next;}if(l2!=NULL){// 如果 l2 不为空,累加 l2 的当前值,并移动 l2 到下一个节点sum+=l2->val;l2=l2->next;}//进位的数字计算carry=sum/10;sum%=10;
//在结果链表创建新结点,存储suml3->next=malloc(sizeof(struct ListNode));l3=l3->next;l3->val=sum;l3->next=NULL;}
// 返回结果链表的头节点(跳过虚拟头节点)return head->next;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/79310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习部署包含哪些步骤?

深度学习部署包含哪些步骤? 阶段说明示例工具模型导出把 .pt、.h5 等格式模型导出为通用格式(如ONNX)PyTorch, TensorFlow, ONNX推理优化减小模型体积、加速推理(量化、剪枝)TensorRT, ONNX Runtime系统集成将模型嵌入…

路由策略和策略路由的区别以及配置案例

区别 路由策略:路由策略是通过ACL等方式控制路由发布,让对方学到适当路由条目,比如有20条路由,只想让某个路由器学到10条,可以通过路由策略进行过滤。 策略路由:策略路由是通过定义策略和应用&#xff0c…

LeetCode 热题 100 64. 最小路径和

LeetCode 热题 100 | 64. 最小路径和 大家好,今天我们来解决一道经典的动态规划问题——最小路径和。这道题在 LeetCode 上被标记为中等难度,要求找到从网格的左上角到右下角的路径,使得路径上的数字总和为最小。 问题描述 给定一个包含非负…

JavaSE核心知识点02面向对象编程02-06(泛型)

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 JavaSE核心知识点02面向对象编程02-06&#…

LVGL对象的盒子模型和样式

文章目录 🧱 LVGL 对象盒子模型结构🔍 组成部分说明🎮 示例代码📌 总结一句话 🧱 一、样式的本质:lv_style_t 对象🎨 二、样式应用的方式🧩 三、样式属性分类(核心&#…

Github上如何准确地搜索开源项目

Github上如何准确地搜索开源项目: 因为寻找项目练手是最快速掌握技术的途径,而Github上有最全最好的开源项目。 就像我的毕业设计“机器翻译”就可以在Github上查找开源项目来参考。 以下搜索针对:项目名的关键词,关注数限制&a…

正点原子IMX6U开发板移植Qt时出现乱码

移植Qt时出现乱码 1、前言2、问题3、总结 1、前言 记录一下正点原子IMX6U开发板移植Qt时出现乱码的解决方法,方便自己日后回顾,也可以给有需要的人提供帮助。 2、问题 用正点原子IMX6U开发板移植Qt时移植Qt后,sd卡里已经存储了Qt的各种库&…

python-django项目启动寻找静态页面html顺序

目录结构 settings模块 urls模块 views模块 1.settings文件下没有DIR目录,按照各app注册顺序寻找静态页面 启动效果,直接返回注册的app即app01下的templates文件夹下的html页面 2.settings文件添加上DIR目录 启动效果,会优先去找项目下的templates文件…

MySQL索引详解(上)(结构/分类/语法篇)

一、索引概述 索引本质是帮助MySQL高效获取数据的排序数据结构(类似书籍目录),通过减少磁盘I/O次数提升查询效率。其核心价值体现在大数据量场景下的快速定位能力,但同时带来存储和维护成本。 核心特点: 优点&#…

数据集-目标检测系列- 烟雾 检测数据集 smoke >> DataBall

数据集-目标检测系列- 消防 浓烟 检测数据集 smoke>> DataBall 数据集-目标检测系列- 烟雾 检测数据集 smoke >> DataBall * 相关项目 1)数据集可视化项目:gitcode: https://gitcode.com/DataBall/DataBall-detections-10…

docker + K3S + Jenkins + Harbor自动化部署

最近公司在研究自动化部署的一套流程,下面记录一下配置流程 需要提前准备好Jenkins Harbor Git(其他管理工具也可以) 我这里的打包编译流程是Jenkins上配置打包任务-->自动到git目录下找打包文件---->项目编译后打镜像包------>打完镜像包将镜像上传到…

《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-《打砖块:向量反射与实时物理模拟》MATLAB教程

《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-《打砖块:向量反射与实时物理模拟》MATLAB教程 🎮 文章目录 《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇&#xff08…

Redisson 看门狗机制

何为看门狗 看门狗机制的主要作用是自动续期锁,确保在节点完成任务之前,锁不会过期。具体来说,当一个节点获取到锁后,看门狗会定期检查该锁的过期时间,并在必要时延长锁的过期时间,确保节点可以顺利完成任…

[架构之美]linux常见故障问题解决方案(十九)

[架构之美]linux下常见故障问题解决方案 一,文本文件忙 问题一:rootwh-VMware-Virtual-Platform:/home/hail# cp /root/containerd/bin/* /usr/bin/ cp: 无法创建普通文件 ‘/usr/bin/containerd’: 文本文件忙 在Linux系统中遇到“文本文件忙”错误时…

QT实现曲线图缩放、拖拽以及框选放大

.h文件 protected: void saveAxisRange();void wheelEvent(QWheelEvent *event) override;void mousePressEvent(QMouseEvent *event) override;void mouseMoveEvent(QMouseEvent *event) override;void mouseReleaseEvent(QMouseEvent *event) override;private:QPoint m_…

【Pandas】pandas DataFrame corr

Pandas2.2 DataFrame Computations descriptive stats 方法描述DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 TrueDataFrame.any(*[, axis, bool_only, skipna])用于判断…

青藏高原七大河流源区径流深、蒸散发数据集(TPRED)

时间分辨率 月空间分辨率 1km - 10km共享方式 开放获取数据大小 83.27 MB数据时间范围 1998-07-01 — 2017-12-31元数据更新时间 2024-07-22 数据集摘要 通过构建耦合积雪、冻土、冰川等冰冻圈水文物理过程的WEB-DHM模型(Water and Energy Budget-based Distribute…

window环境下,如何通过USB接口控制打印机

虽然说大多数情况下,我们可以非常便利的通过打印机驱动来控制打印机,但还是有一些特殊情况,导致无法通过打印机驱动来完成我们预想的任务,比如,打印机只是一个系统设备中的一部分,需要协调其它设备一起工作…

CDGP数据治理主观题评分标准与得分策略

1.数据模型题目评分标准 1)准确理解题目中所描述的业务逻辑和需求得[1分] 2)正确使用模型设计方法,使用信息工程、信息建模集成定义、巴克符号、陈氏符号等其中一种得[1分] 3)正确设计实体和属性,题目中涉及的实体数量为25-30个,10个以内得[2分],10-20个得[3分],25个…

工业设计破局密码:3D 可视化技术点燃产业升级引擎

3D可视化是一种将数据、信息或抽象概念以三维图形、模型和动画的形式呈现出来的技术。3D可视化技术通过构建三维数字孪生体,将设计思维转化为可交互的虚拟原型,不仅打破了传统二维设计的空间局限,更在效率、精度与用户体验层面开创了全新维度…