LeetCode_2_两数相加
题目:
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Example:
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 Explanation: 342 + 465 = 807.
链表类:
class ListNode{int val;ListNode next;public ListNode(int val) {this.val = val;} }
实现类:
public static ListNode addTwoNumbers(ListNode l1 , ListNode l2){ListNode l = null;int temp = 0;l = new ListNode(l1.val+l2.val);ListNode q = new ListNode(0);//q指向第一个结点q = l;while(l1.next!=null && l2.next!=null){if(l.val<10){l.next =new ListNode(l1.next.val+l2.next.val);}else{temp = l.val;l.val = temp%10;l.next = new ListNode(temp/10+l1.next.val+l2.next.val);}l = l.next;l1 = l1.next;l2 = l2.next;}while (l1.next != null && l2.next == null) {if (l.val>=10) {temp = l.val;l.val = temp%10;l.next = new ListNode(temp/10+l1.next.val);}else {l.next = new ListNode(l1.next.val);}l = l.next;l1 = l1.next;}while (l1.next == null && l2.next != null) {if (l.val>=10) {temp = l.val;l.val = temp%10;l.next = new ListNode(temp/10+l2.next.val);}else {l.next = new ListNode(l2.next.val);}l = l.next;l2 = l2.next;}//处理最后一个数,是否需要进位if (l.val>=10) {temp = l.val;l.val = temp%10;l.next = new ListNode(temp/10);}l = q;return l;}
注意点:
1,定义指针q指向第一个结点。获得所求的结果后,将链表l指向q,即链表的第一个节点。
2,链表l1,l2相加时,需考虑进位问题。
转载于:https://www.cnblogs.com/wkcode/p/8663922.html
LeetCode_2_两数相加相关推荐
- leetCode刷题 2. 两数相加
原题链接: leetcode-cn.com/problems/ad- 题目描述 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你 ...
- 【每日一算法】两数相加
微信改版,加星标不迷路! 每日一算法-两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两 ...
- 【前端来刷LeetCode】两数之和与两数相加
大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...
- [Swift]LeetCode2. 两数相加 | Add Two Numbers
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- LeetCode 2 两数相加
给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入:(2 - ...
- 计算机组成原理两数相加指令,计算机组成原理复习题
27. 一个16K×32位的存储器,其地址线和数据线的总和是 . A.48 B.46 C.36 答案:B 28.由于磁盘上的内部同心圆小于外部同心圆,则对其所存储的数据量而言, . A.内部同心圆大于 ...
- js 数字相加_Python练习:解题 - 两数相加(JS, TS, PY3版)
两数相加 题目描述 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新 ...
- LeetCode 2 两数相加(链表)
题目要求: 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入 ...
- python 链表两数相加
| 两数相加 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设 ...
最新文章
- 【EventBus】发布-订阅模式 ( 使用代码实现发布-订阅模式 )
- Android Studio开发概要记录
- python和mt4的区别_MT4和MT5有什么区别?
- 第 18 章 Django 入门
- Fiori应用的花瓣动画效果是怎么画出来的
- 暗影精灵4适合计算机专业,暗影精灵4pro怎么样_RTX系显卡带来的不仅是光追-太平洋电脑网...
- java实验指导书(实验四)答案_java程序设计实验指导书答案
- eclipselink mysql_Eclipselink更新现有表
- 深入理解JAVA中的注解
- 一步一步学习Servlet之Cookie使用
- java二分查找算法字符串数组_Java 算法——二分查找数组集合关键元素
- Use a production WSGI server instead(搭建web网站出现的问题)
- AngularJS 资源和开发教程
- “123456”连续七年霸榜,2019最糟糕密码榜单出炉
- 第11章 支撑向量机 SVM 学习笔记 上
- 高性能mysql读书笔记三性能查询优化
- html设置为壁纸win10,win10系统怎么设置桌面壁纸
- 灵遁者:真正热爱生活的人,都知道这点
- 第二课堂计算机记录,第二课堂计算机小结
- php中escape和unescape
热门文章
- android愤怒小鸟游戏、自定义View、掌上餐厅App、OpenGL自定义气泡、抖音电影滤镜效果等源码...
- 小店怎么做内容营销?这个家居店铺有诀窍
- 她把肥皂放在矿泉水瓶盖上,第二天大吃一惊...…
- winform空间批量控制
- 成都Uber优步司机奖励政策(4月24日)
- mint mvc简介
- ORA-28056:Writing audit records to Windows Even...
- 爱情是一出未经排练的戏
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- Struts2 datetimepicker 日期月份乱码解决