原题链接

解题思路:

本题可以使用模拟法,从链表的结点中提取出val逐个相加,没有值取0。并且记录进位,每个节点只保留个位数,所以需要使用sum与10取模,如果最高位存在进位则需要在最后添加一个val为1的节点,从而得到最后的结果链表。

/*** 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* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode *res = new ListNode(-1);   //添加虚拟头结点,简化边界情况的判断ListNode *cur = res;int carry = 0;  //表示进位while (l1 || l2) {int n1 = l1 ? l1->val : 0;int n2 = l2 ? l2->val : 0;int sum = n1 + n2 + carry;carry = sum / 10;cur->next = new ListNode(sum % 10);cur = cur->next;if (l1) l1 = l1->next;if (l2) l2 = l2->next;}if (carry) cur->next = new ListNode(1); //如果最高位有进位,则需在最前面补1.return res->next;   //返回真正的头结点}
};

LeetCode 02.两数相加相关推荐

  1. [链表遍历|模拟] leetcode 2 两数相加

    [链表遍历|模拟] leetcode 2 两数相加 1.题目 题目链接 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果 ...

  2. 20200114:(leetcode)两数相加

    两数相加 题目 主要思路 代码实现 题目 注意点:不以0开头 主要思路 逐个相加即可,注意需要逆序加,注意进位即可: 由于数字是个位数的,因此进位只有可能是0或者1: 注意定义的有参构造器. 代码实现 ...

  3. LeetCode 445. 两数相加 II(链表大数加法)

    1. 题目 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进 ...

  4. LeetCode 2 两数相加

    给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入:(2 - ...

  5. LeetCode 2 两数相加(链表)

    题目要求: 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入 ...

  6. LeetCode:2. 两数相加(中等)

    2. 两数相加(中等) 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 把俩个链表对应位相加,如果大于等于10,对10取余,小于10,直接得到这一位 解题过程存在这样几个问题: 1.进行循环 ...

  7. leetcode算法—两数相加 Add Two Numbers

    关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...

  8. LeetCode 01两数之和02两数相加

    力扣 LeetCode01两数之和 LeetCode02两数之加 前言:第一次LeetCode打卡题解,前面组织的打卡活动从今天开始正式开始了,很多csdn和公众号小伙伴以及加入了,欢迎加入!详细看力 ...

  9. leetcode —— 2. 两数相加 (对于链表更新的细节)

    给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

最新文章

  1. flex版的流程设计器
  2. C~K招亲_JAVA
  3. ldap2.8.2_Spring LDAP 2.0.0发布
  4. 在FAANG面试中破解堆算法
  5. win 10安装MySQL
  6. flex自定义preloader预加载进度条
  7. WCF开发之消息契约(MessageContract)
  8. hsqldb 的简单使用
  9. Docker 镜像加速器配置
  10. 计算机与机械制图课题研究,考核机械制图论文,关于“机械制图CAD”课程考试改革相关参考文献资料-免费论文范文...
  11. Java求抛物线输入角度速度_知道初速度和抛物线的角度,怎么计算落点
  12. VUE使用benz-amr-recorder 实现解码、播放
  13. 【转】腾讯云PCDN:从P2P到万物互联服务框架
  14. linux shell 端口扫描,shell脚本结合iptables防端口扫描的实现
  15. 电子邮箱怎么填写正确格式?企业邮箱开通格式填写技巧
  16. 机器学习(第二章)—— 模型评估
  17. 入行软件测试5年,跳槽3次,我摸透了软件测试这一行
  18. 163邮箱苹果设置不成功_怎么样才能让自己服务器发出的邮件不被 Gmail、Hotmail、163、QQ 等邮箱放入垃圾箱...
  19. 深圳Go培训:Go语言适合干什么?
  20. 三天快速制作易语言防破解网络验证注册码系统

热门文章

  1. 双色球霸主网络问题_霸主–统治和管理API的地方
  2. JDK 12的String :: transform方法的简要但复杂的历史
  3. Istio的网络API解释了
  4. jaxb list集合对象_JAXB –表示空集合和空集合
  5. java 适用参数_Java功能的适用性
  6. 午餐前如何安装OpenStack Cloud
  7. scala akka_使用Scala,Play和Akka连接到RabbitMQ(AMQP)
  8. jmeter负载测试测试_Apache JMeter:随心所欲进行负载测试
  9. jee neow_JEE7:展望新时代
  10. 具有jOOQ和Java 8的CompletableFuture的异步SQL执行