当前位置:网站首页>【刷题记录】2. 两数相加
【刷题记录】2. 两数相加
2022-07-06 21:33:00 【InfoQ】
一、题目描述
- 每个链表中的节点数在范围 [1, 100] 内
0 <= Node.val <= 9
- 题目数据保证列表表示的数字不含前导零
二、思路分析:
- l1 就是[3,4] l2 就是[7,2] 链表中对应位置的相加,就是数字运算过程中,由低位向高位相加的一个过程。
- 如果相加有进位数时候,我们要记录进位数,并且在一次的运行中相加上这个进位数 就是上图中的1(tens)
- 然后把每次的结果存入到一个新的链表中 比如上图中结果为70 就是 [0,7]
三、代码实现
public class ListNode {
int val;
ListNode next;
ListNode() {}
ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
// 输出结果的链表
ListNode resultNode = new ListNode(0);
ListNode head = resultNode;
// 记录进位数
int carryNum = 0;
while (l1 != null || l2 != null){
// 判断两个链表中对应位置是否存在值 (可能连个链表位数不一致)
int num1 = l1 != null ? l1.val : 0;
int num2 = l2 != null ? l2.val : 0;
// 对应位置上的数字相加 以及加上进位数
int tmpnum = num1 + num2 + carryNum;
// 记录对应数字到链表
head.next = new ListNode(tmpnum % 10 );
//获取进位数
carryNum = tmpnum / 10;
head = head.next;
if (l1 != null) l1 = l1.next;
if (l2 != null) l2 = l2.next;
}
// 如果最高位还有进位 补位。
if (carryNum > 0) head.next = new ListNode(carryNum);
return resultNode.next;
}
}
总结
边栏推荐
- On file uploading of network security
- 【编码字体系列】OpenDyslexic字体
- Top 50 hit industry in the first half of 2022
- UltraEdit-32 温馨提示:右协会,取消 bak文件[通俗易懂]
- Arduino droplet detection
- 数据的存储
- 使用 Dumpling 备份 TiDB 集群数据到 GCS
- R data analysis: how to predict Cox model and reproduce high score articles
- 概率论公式
- . Net interface can be implemented by default
猜你喜欢
idea gradle lombok 报错集锦
[leetcode] 700 and 701 (search and insert of binary search tree)
SQL injection -day15
Kotlin Android environment construction
web服务性能监控方案
Adaptive non European advertising retrieval system amcad
QT thread and other 01 concepts
Some thoughts on cross end development of kbone and applet
ABAP 動態內錶分組循環
[development software] tilipa Developer Software
随机推荐
When QT uses qtooltip mouse to display text, the picture of the button will also be displayed and the prompt text style will be modified
【系统管理】清理任务栏的已删除程序的图标缓存
API data interface of A-share index component data
概率论公式
Allow public connections to local Ruby on Rails Development Server
idea gradle lombok 报错集锦
Kotlin Android 环境搭建
你心目中的数据分析 Top 1 选 Pandas 还是选 SQL?
Codeworks 5 questions per day (1700 average) - day 7
【knife-4j 快速搭建swagger】
Antd Comment 递归循环评论
手机号国际区号JSON格式另附PHP获取
[leetcode]Spiral Matrix II
Adaptive non European advertising retrieval system amcad
leetcode:面试题 17.24. 子矩阵最大累加和(待研究)
二进制、八进制、十六进制
HW-小记(二)
ERROR: Could not build wheels for pycocotools which use PEP 517 and cannot be installed directly
Leetcode: interview question 17.24 Maximum cumulative sum of submatrix (to be studied)
A 股指数成分数据 API 数据接口