LeetCode 02.两数相加
原题链接
解题思路:
本题可以使用模拟法,从链表的结点中提取出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.两数相加相关推荐
- [链表遍历|模拟] leetcode 2 两数相加
[链表遍历|模拟] leetcode 2 两数相加 1.题目 题目链接 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果 ...
- 20200114:(leetcode)两数相加
两数相加 题目 主要思路 代码实现 题目 注意点:不以0开头 主要思路 逐个相加即可,注意需要逆序加,注意进位即可: 由于数字是个位数的,因此进位只有可能是0或者1: 注意定义的有参构造器. 代码实现 ...
- LeetCode 445. 两数相加 II(链表大数加法)
1. 题目 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进 ...
- LeetCode 2 两数相加
给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入:(2 - ...
- LeetCode 2 两数相加(链表)
题目要求: 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入 ...
- LeetCode:2. 两数相加(中等)
2. 两数相加(中等) 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 把俩个链表对应位相加,如果大于等于10,对10取余,小于10,直接得到这一位 解题过程存在这样几个问题: 1.进行循环 ...
- leetcode算法—两数相加 Add Two Numbers
关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...
- LeetCode 01两数之和02两数相加
力扣 LeetCode01两数之和 LeetCode02两数之加 前言:第一次LeetCode打卡题解,前面组织的打卡活动从今天开始正式开始了,很多csdn和公众号小伙伴以及加入了,欢迎加入!详细看力 ...
- leetcode —— 2. 两数相加 (对于链表更新的细节)
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
最新文章
- flex版的流程设计器
- C~K招亲_JAVA
- ldap2.8.2_Spring LDAP 2.0.0发布
- 在FAANG面试中破解堆算法
- win 10安装MySQL
- flex自定义preloader预加载进度条
- WCF开发之消息契约(MessageContract)
- hsqldb 的简单使用
- Docker 镜像加速器配置
- 计算机与机械制图课题研究,考核机械制图论文,关于“机械制图CAD”课程考试改革相关参考文献资料-免费论文范文...
- Java求抛物线输入角度速度_知道初速度和抛物线的角度,怎么计算落点
- VUE使用benz-amr-recorder 实现解码、播放
- 【转】腾讯云PCDN:从P2P到万物互联服务框架
- linux shell 端口扫描,shell脚本结合iptables防端口扫描的实现
- 电子邮箱怎么填写正确格式?企业邮箱开通格式填写技巧
- 机器学习(第二章)—— 模型评估
- 入行软件测试5年,跳槽3次,我摸透了软件测试这一行
- 163邮箱苹果设置不成功_怎么样才能让自己服务器发出的邮件不被 Gmail、Hotmail、163、QQ 等邮箱放入垃圾箱...
- 深圳Go培训:Go语言适合干什么?
- 三天快速制作易语言防破解网络验证注册码系统
热门文章
- 双色球霸主网络问题_霸主–统治和管理API的地方
- JDK 12的String :: transform方法的简要但复杂的历史
- Istio的网络API解释了
- jaxb list集合对象_JAXB –表示空集合和空集合
- java 适用参数_Java功能的适用性
- 午餐前如何安装OpenStack Cloud
- scala akka_使用Scala,Play和Akka连接到RabbitMQ(AMQP)
- jmeter负载测试测试_Apache JMeter:随心所欲进行负载测试
- jee neow_JEE7:展望新时代
- 具有jOOQ和Java 8的CompletableFuture的异步SQL执行