LeetCode 2. 两数相加

力扣(Leetcode)第2题:两数相加(C语言版本) 通常,我们从左到右书写数字,例如数字123,最左边的是最高位(百位),然后是十位,最后是个位。但是在这个特殊的表示法中,链表的第一个节点将代表个位数,第二个节点代表十位数,以此类推,最左边的节点(链表的头节点)代表最低位,而最右边的节点(链表的尾节点)代表最高位。在这种表示法中,每个节点只存储一个数字(0-9),并且每个链表的第一个节点(最近个位)实际上是整个数字的最低有效位,而最后一个节点(最远离个位)是最高位。由于每个节点只存储一位数字,相加的结果可能需要进位到下一个更高的位。它们每位数字都是按照。 阅读详情

题目链接:2.两数相加

 题意:

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        int c = 0;
        ListNode *head = nullptr, *tail = nullptr;
        while(l1 || l2) {
            int n1 = (l1 == nullptr ? 0 : l1->val);  // 当前数为空默认为0
            int n2 = (l2 == nullptr ? 0 : l2->val);
           int sum = n1 + n2 + c;   // 两数之和 加上金威
            if(!head) {  // 初始化
                head = tail =  new ListNode(sum % 10);
            } else {
                tail->next = new ListNode(sum % 10);  // 生成tail的下一个节点
                tail = tail -> next;
            }
            c = sum / 10;  // 判断是否往前进一
            if(l1) {
                l1 = l1->next;
            }
            if(l2) {
                l2 = l2->next;
            }
        }
        if(c > 0) {
            tail->next = new ListNode(c);
        }
        return head;
    }
};

力扣算法题2. 两数相加 2. 两数相加 第一次尝试后做不出来,看了一遍官方的解题思路后,开始修改自己的代码,最终通过,仅作学习记录,最后看了官方的代码,恍然大悟,自己写的确实不够标准和泛化,存在太多if语句,冗余严重,欢迎各位大佬指点! 下面附上自己写的代码和伪代码作为学习记录—— 解题思路 1.1 实例化两个指针l3,l4,l3:表头,l4:工作指针 1.2 初始化进位值w=0,i=0(i=1时表征第一次对l1和l2的表头元素做相加); 1.3 判断l1与l2指针的null情况 1.3.0 i++ 1.3.1 l1!=null 阅读详情

相关推荐

python【力扣LeetCode算法题库】2-两数相加

两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0...

NJU phd 在读。 867

力扣(LeetCode):#2-两数相加

文章目录力扣(LeetCode):#2-两数相加题目描述:题解:方法:初等数学 力扣(LeetCode):#2-两数相加 题目描述: 题解: 方法:初等数学 Java /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution {

忘尘丶莫负的博客 284

LeetCode 2 - 两数相加

是一道经典链表操作问题,经常作为面试中基础题的变体被考察。掌握多种解法及其变体,并熟悉其核心思路和模板代码,可以快速备战相关链表或大数计算问题。给定两个非空链表,它们代表两个非负整数,每个节点保存一个数字,数字按(个位在链表头部),求两个数的和并返回一个新的链表,表示其逆序和。l1l2carrysum % 10carrymn如果链表存储的是整数的正常顺序(高位在前),如何求两数和?

互联网架构师笔记 1161

[Golang]力扣Leetcode - 2.两数相加

[Golang]力扣Leetcode - 2、两数相加

皮埃尔的博客 438

UE4 专用服务器搭建(UE4.27为例)

专用服务器、DS服务器

mimo134的博客 2774

酒店前台pms管理系统

对于酒店经营者来说,选择一款优秀的管理系统,是提升运营效率、优化客人体验的关键。PMS酒店管理系统凭借其强大的房态管理、实时数据监控、OTA直联、无人值守等功能,已经成为许多酒店提升管理水平的得力助手。无论是大中型酒店,还是小型民宿,PMS系统都能根据不同需求提供量身定制的解决方案,帮助酒店实现精细化管理、提高运营效率。如果你也在为酒店管理中的繁琐琐事而困扰,不妨尝试一下PMS酒店管理系统,感受科技带来的便利与高效,让你的酒店运营更上一层楼!

2409_89897808的博客 2483

力扣LeetCode2.两数相加及Python源码实现

本题为LeetCode题库中第2两数相加,难度中等,题目请参考这里。 比较绕的一道题,谈论区的python答案不多而且思路没有讲清楚,这里记录一下。 给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数...

Alex__Mahone的专栏 794

STM32项目实战_基于STM32F103的智能药箱设计与实现(硬件详解+软件逻辑+调试要点)

本文详细介绍了基于STM32F103的智能药箱设计与实现,涵盖硬件设计、软件逻辑和调试要点。项目核心功能包括精准提醒、药品管理和远程监控,采用STM32单片机作为主控,结合光电开关、蓝牙模块等实现智能化管理。文章还分享了电路图设计、程序优化及常见问题解决方案,为嵌入式开发爱好者提供实用参考。

weixin_28717683的博客 303

力扣LeetCode第2题两数相加

力扣LeetCode第2题两数相加

weixin_44061444的博客 384

2026基金本子新规必看!聚焦四大底层问题,利用AI辅助分别破解提升中标率

我拟申报的研究主题为【明确的研究主题或关键词组合】。选题方向也是评审专家关注的核心之一,申报前可以检索近五年领域前人中标项目,分析现有研究的空白与不足,并结合自身研究基础选择 “人无我有、人有我优” 的细分方向,如果是交叉学科选题,则要阐述不同学科的融合逻辑与创新点。“推动国家战略”、“带来行业发展”等宏观表述,有很多同仁都喜欢用这类话术开篇,但实际上宏大叙事无法替代具体的真实科学问题,明确不了研究要解决的核心痛点,更没有说明问题的现实针对性,评审看了往往抓不到研究的核心价值。

智能AI让学术科研更容易 294

Python爬虫实战:逆向解析天猫商品详情API,精准捕获规格、SKU与促销活动

及浏览器开发者工具),绕过前端渲染的复杂性,直接逆向分析并调用其内部数据接口,从而高效、稳定地抓取商品的关键信息,包括商品规格、多维度SKU信息以及复杂的促销活动。print(f"SKU ID: {sku.sku_id}, 价格: ¥{sku.price}, 库存: {sku.stock}, 规格: {sku.props}")当你访问一个商品链接时,浏览器首先会加载一个几乎为空的HTML骨架,然后通过执行大量的JavaScript代码,向后台服务器发起多个异步请求,最终将获取到的数据填充到页面中。

2201_76125261的博客 1129

力扣2. 两数相加

力扣2. 两数相加 https://leetcode-cn.com/problems/add-two-numbers/ 给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 示例:...

小麦China的博客 198

stata 工具变量法【计量经济系列(七)】

stata 工具变量法【计量经济系列(七)】 1. 内生性 2. 工具变量3. 2SLS (二阶段最小二乘法) 4. 弱工具变量5. 工具变量外生性的过度识别检验 6. 豪斯曼检验6.1 传统豪斯曼 6.2 杜宾-吴-豪斯曼检验(DWH)

侯小啾技术博客 2万+

力扣leetcode题库练习(C++)—2.两数相加

力扣leetcode题库练习(C++)—2.两数相加题目描述示例分析代码及注释如下结果如下 题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 输入:(2 -> 4 ...

weixin_45682431的博客 856

华为云计算——FusionCompute创建虚拟机

华为云计算——FusionCompute创建虚拟机

jks212454的博客 3676

SAP-RPT-1 深度解读:面向企业表格数据的 rapid one

摘要: SAP在TechEd 2025大会上推出面向企业结构化数据的SAP-RPT-1(Relational Pretrained Transformer),旨在通过in-context learning直接预测表格数据中的缺失值,无需传统机器学习流程。与LLM不同,RPT专为业务表格设计,支持实时预测(如交货延迟、回款风险等)。提供Small(高吞吐)、Large(高精度)和开源版本,用户可通过无代码Playground(上传CSV并用[PREDICT]标记目标列)或Python API快速验证。典型场景

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 235

Leetcode力扣2两数相加

两数相加 请你将两个数相加,并以相同形式返回一个表示和

Solaku7的博客 312

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【力扣LeetCode】2 两数相加(链表)

题目描述(难度中) 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -&gt...

Jiewang的博客 306

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Leetcode力扣——2. 两数相加

Leetcode力扣——2. 两数相加 给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。...

qq_52222102的博客 1708

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2. 两数相加 - 力扣(LeetCode)

在上面的代码中,我们使用了一个哑节点(dummy)来简化链表的创建过程,因为我们不需要在循环开始前就知道链表的长度。哑节点是一个特殊的节点,它不包含任何数据(或包含默认值,如0),但它的下一个节点是结果链表的第一个实际节点。在循环结束后,我们返回哑节点的下一个节点作为结果链表的头节点。想象一下,你有两个逆序的纸条,每个纸条上都写着一串数字,这些数字代表一个非负的整数,但是是从低位到高位排列的(也就是个位数在最前面,十位数在后面,依此类推)。方法来得到相加后的结果链表,最后打印了结果链表的内容。

it爱好者的学习之路 1138

2. 两数相加 - 力扣(LeetCode)

每次将两个节点的值与进位值相加,计算当前节点的值和新的进位值。使用哑巴节点简化链表的构建过程,确保所有边界情况(如链表长度不一致和最后的进位)都被正确处理。​ 将链表反过来看:这道题思路是通过迭代的方式将两个链表表示的数字相加,并返回结果链表。通过迭代的方式遍历链表。​ 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。​ 请你将两个数相加,并以相同形式返回一个表示和的链表。的链表,表示两个非负的整数。它们每位数字都是按照。的方式存储的,并且每个节点只能存储。

q1111111da的博客 582

2. 两数相加【 力扣(LeetCode) 】

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

yyh520025的博客 580

力扣(leetcode 2)两数相加 python

题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开...

qq_41318002的博客 531

leetcode力扣 2 两数相加 链表

如果头节点不为零,则开辟空间给tail-next的值赋值为余数,并且tail指向tail->next,carry的值赋值为sum除10,遍历l1 l2两条链表。使两个链表不为空为循环条件,将变量n1 n2以两条链表头节点为值,进行求和sum,如果头节点为零,则开辟一个空间,尾部值使它是总和的余数,并将next域置空;1 将长度较短的链表在末尾补零使得两个连表长度相等,再一个一个元素对其相加(考虑进位)的链表,表示两个非负的整数。请你将两个数相加,并以相同形式返回一个表示和的链表。3 在较短的链表末尾补零。

CKROL的博客 223

2.力扣LeetCode_两数相加

该代码实现了两个逆序存储数字的链表相加。主要思路是:使用哑节点简化链表操作,同时遍历两个链表,逐位相加并处理进位。创建新节点存储个位结果,将十位作为进位。若最终仍有进位,则额外创建节点。使用尾插法构建结果链表,最后释放哑节点内存。时间复杂度O(max(m,n)),空间复杂度O(max(m,n)),其中m,n为两个链表的长度。

2401_82472941的博客 614

leetcode/力扣第2题 两数相加

链表(Linked List)是一种线性数据结构数组:一块连续的内存,所有元素挨着存放,访问时可以通过下标快速找到。链表:由一个个“节点”(Node)组成,每个节点分为两部分:数据(值)指针(指向下一个节点的地址)就像一串珠子,节点靠“线”(指针)串起来。

m0_49366142的博客 348
上一篇: LeetCode 21. 合并两个有序链表
下一篇: 我的疑问~
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值