难度:中等
频次:72

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。


注意:不要受逆序影响,他本来就是为了你方便做,给你逆序的。

解题思路:遍历【按加法运算来即可】

注意

  •       //先算个位,个位值不影响进位value=(add+t1+t2)%10; //而进位会影响进位add=(add+t1+t2)/10;
    这两个位置不能更换,一换就会报错。
    

代码

/*** Definition for singly-linked list.* 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; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {int add=0;int value=0;int t1=0,t2=0;ListNode dummyhead=new ListNode(-1);ListNode p=dummyhead;//每一个节点相加,判断值,如果大于10,就插入尾数,进位要累加到下一个节点while(l1!=null||l2!=null){if(l1==null){t1=0;t2=l2.val;l2=l2.next;}else if(l2==null){t2=0;t1=l1.val;l1=l1.next;}else {t1=l1.val;l1=l1.next;t2=l2.val;l2=l2.next;}//先算个位,个位值不影响进位value=(add+t1+t2)%10; //而进位会影响进位add=(add+t1+t2)/10;      ListNode temp=new ListNode(value);p.next=temp;p=temp;}if(add==1) {ListNode temp=new ListNode(add);p.next=temp;}return dummyhead.next;}
}

leetcode 2. 两数相加相关推荐

  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 —— 2. 两数相加 (对于链表更新的细节)

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

  9. 力扣(Leetcode)-2. 两数相加

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

最新文章

  1. Redis 笔记(10)— 发布订阅模式(发布订阅单个信道、订阅信道后的返回值分类、发布订阅多个信道)
  2. 服务器比普通电脑响应速度快吗,云服务器比普通的快吗
  3. 个性化推荐系统研究热点之用户画像
  4. C基础(31——35)
  5. mysql全量和增量备份脚本
  6. HDOJ 4883 TIANKENG’s restaurant
  7. 排序1+1:冒泡排序法(BubbleSort)的改进以及效率比较
  8. USACO-Section2.3 Zero Sum
  9. oracle 创建表空间 pcincrease,oracle建表空间
  10. EmEditor 常用功能
  11. 早餐为啥不能吃大米粥?医生:不仅是米粥,这3物也最好少吃
  12. android 连接tftp 服务器
  13. 基于Python爬虫的网易云音乐
  14. Linux运维遇到的基本问题解决大全
  15. VBScript的中ByRef和ByVal的不同
  16. ffmpeg获取视频封面图片
  17. 蓝奏云分享文件无法下载地址失效的解决办法
  18. USB Camera摄像头 (UVC 与 gspca)
  19. python-脚本自动生成二维码QRcode/quick response code
  20. e舞成名2月新歌脚谱更新

热门文章

  1. 一条进程的栈区、堆区、数据区和代码区在内存中的映射
  2. 2013年35真棒恭贺新禧 - 壁纸
  3. JBoss was unable to start within 50 seconds-JBoss启动超时
  4. 在Android界面上显示和获取Logcat日志输出
  5. U-boot mkimage指定Linux内核地址时的两种方式
  6. Linux 下mysql 安装完成后,输入mysql 无法进入问题
  7. 【连载】【FPGA黑金开发板】NIOS II那些事儿--编程风格(三)
  8. time_t和字符串间的转化
  9. 理解 RXSwift:单元测试(四)
  10. CentOS tcpdump的使用实例