题目:


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_两数相加相关推荐

  1. leetCode刷题 2. 两数相加

    原题链接: leetcode-cn.com/problems/ad- 题目描述 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你 ...

  2. 【每日一算法】两数相加

    微信改版,加星标不迷路! 每日一算法-两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两 ...

  3. 【前端来刷LeetCode】两数之和与两数相加

    大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...

  4. [Swift]LeetCode2. 两数相加 | Add Two Numbers

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  5. LeetCode 2 两数相加

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

  6. 计算机组成原理两数相加指令,计算机组成原理复习题

    27. 一个16K×32位的存储器,其地址线和数据线的总和是 . A.48 B.46 C.36 答案:B 28.由于磁盘上的内部同心圆小于外部同心圆,则对其所存储的数据量而言, . A.内部同心圆大于 ...

  7. js 数字相加_Python练习:解题 - 两数相加(JS, TS, PY3版)

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

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

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

  9. python 链表两数相加

    | 两数相加 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设 ...

最新文章

  1. 【EventBus】发布-订阅模式 ( 使用代码实现发布-订阅模式 )
  2. Android Studio开发概要记录
  3. python和mt4的区别_MT4和MT5有什么区别?
  4. 第 18 章 Django 入门
  5. Fiori应用的花瓣动画效果是怎么画出来的
  6. 暗影精灵4适合计算机专业,暗影精灵4pro怎么样_RTX系显卡带来的不仅是光追-太平洋电脑网...
  7. java实验指导书(实验四)答案_java程序设计实验指导书答案
  8. eclipselink mysql_Eclipselink更新现有表
  9. 深入理解JAVA中的注解
  10. 一步一步学习Servlet之Cookie使用
  11. java二分查找算法字符串数组_Java 算法——二分查找数组集合关键元素
  12. Use a production WSGI server instead(搭建web网站出现的问题)
  13. AngularJS 资源和开发教程
  14. “123456”连续七年霸榜,2019最糟糕密码榜单出炉
  15. 第11章 支撑向量机 SVM 学习笔记 上
  16. 高性能mysql读书笔记三性能查询优化
  17. html设置为壁纸win10,win10系统怎么设置桌面壁纸
  18. 灵遁者:真正热爱生活的人,都知道这点
  19. 第二课堂计算机记录,第二课堂计算机小结
  20. php中escape和unescape

热门文章

  1. android愤怒小鸟游戏、自定义View、掌上餐厅App、OpenGL自定义气泡、抖音电影滤镜效果等源码...
  2. 小店怎么做内容营销?这个家居店铺有诀窍
  3. 她把肥皂放在矿泉水瓶盖上,第二天大吃一惊...…
  4. winform空间批量控制
  5. 成都Uber优步司机奖励政策(4月24日)
  6. mint mvc简介
  7. ORA-28056:Writing audit records to Windows Even...
  8. 爱情是一出未经排练的戏
  9. linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
  10. Struts2 datetimepicker 日期月份乱码解决