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

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

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

解题思路:

 * function ListNode(val, next) {*     this.val = (val===undefined ? 0 : val)*     this.next = (next===undefined ? null : next)* }

该题用到了链表这一数据结构,上述代码为其构造函数。因为是构造函数,所以创建一个新节点要以 new 的方式创建。

node = new ListNode(element, node)

所以该题的解题思路大致为利用 双指针 逐个指向实参的每一个数字并将其相加,并用一个变量储存是否存在进位。再把每次相加的结果对 10 取余,构造一个新链表节点并将其作为当前节点的 next 节点。注意最后需要判断最后一次运算是否存在进位,若存在进位则需要再添加一个节点。

        let carry = 0; //进位let sum = 0;let ans = null;let ANS = null;while (l1 || l2) {const temp1 = l1 ? li.val : 0;const temp2 = l2 ? l2.val : 0;if (temp1 + temp2 + carry >= 10) {sum = temp1 + temp2 + carry - 10;carry = 1;} else {sum = temp1 + temp2 + carry;carry = 0;}if (!ANS) {ANS = ans = new ListNode(sum);} else {ans.next = new ListNode(sum);ans = ans.next;}if (l1) {l1 = l1.next;}if (l2) {l2 = l2.next;}}if (carry === 1) {ans.next = new ListNode(1);}return ANS;

JavaScript 每日一题---LeetCode 2.两数相加相关推荐

  1. [链表遍历|模拟] leetcode 2 两数相加

    [链表遍历|模拟] leetcode 2 两数相加 1.题目 题目链接 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果 ...

  2. 20200114:(leetcode)两数相加

    两数相加 题目 主要思路 代码实现 题目 注意点:不以0开头 主要思路 逐个相加即可,注意需要逆序加,注意进位即可: 由于数字是个位数的,因此进位只有可能是0或者1: 注意定义的有参构造器. 代码实现 ...

  3. LeetCode 445. 两数相加 II(链表大数加法)

    1. 题目 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进 ...

  4. 力扣刷题-单链表两数相加

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

  5. LeetCode 2 两数相加

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

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

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

  7. LeetCode:2. 两数相加(中等)

    2. 两数相加(中等) 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 把俩个链表对应位相加,如果大于等于10,对10取余,小于10,直接得到这一位 解题过程存在这样几个问题: 1.进行循环 ...

  8. leetcode算法—两数相加 Add Two Numbers

    关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...

  9. 【leetcode】力扣刷题(2):两数相加(go语言)

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

  10. 简单算法题:leetcode-2 两数相加

    算法撸一遍,从简单的开始. 做leetcode题目的时候,经常百度答案,但感觉大多不是我想要的,很多我不能理解.现在也做了一些算法题,哪些并不是很深奥,但需要一些技巧,简单的算法题更多的是经验值.这里 ...

最新文章

  1. KEIL常见编译错误和警告解决方案汇总
  2. php目的,php umask(0)的目的是什么
  3. 遍历HashMap的四种方法
  4. 读取遥感图像中遇到的问题集锦
  5. 将对象序列化和反序列化
  6. ABB机器人编程软件RobotStudio迅雷下载网盘下载
  7. linux用户配额管理,—linux 磁盘配额按用户管理(quota)
  8. FlashPaper组件——api
  9. 小型机 PC服务器 性能,pc服务器小型机
  10. python中用pip安装出现Microsoft Visual C++ 14.0 is required. Get it with Microsoft Visual C++ Build Tools
  11. Win7笔记本如何调整屏幕亮度
  12. pstack/gstack
  13. C++10进制转16进制
  14. 用Defraggler打造自己的免费自动磁盘整理工具
  15. Win11系统更新KB5014668后点开始按钮没反应怎么办?
  16. citespace与mysql_citespace问题
  17. Android ImageButton(图片按钮)
  18. 计算机三级网络技术第六章(第一轮)
  19. 隐藏Detected problems with API compatibility警告弹窗
  20. Numpy简易教程8——简易分析

热门文章

  1. 数显之家快讯:【SHIO世硕心语】真正的高手,都有7个思维习惯
  2. Mysql-DQL基础查询
  3. There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=‘pypi.org‘, port=443)
  4. win7连接远程桌面时出现黑屏的解决方法(亲测有效)——终于找到解决办法了
  5. 2015校园O2O商业模式解析——从物流切入
  6. 个人所得税 java_计算个人所得税的java代码
  7. openssl建立证书和私钥方法
  8. FinalShell连接超时解决方法
  9. Servlet文件上传的实现
  10. mysql 增加临时表空间_数据库临时表空间设置