2.LeetCode(两数相加)——JavaScript
发布日期:2021-06-21 04:14:26
浏览次数:16
分类:技术文章
本文共 1012 字,大约阅读时间需要 3 分钟。
题目描述
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807
个人解法 + 分析
/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */var addTwoNumbers = function(l1, l2) { var node = new ListNode('0'); var head = node; var temp = 0; while (l1 || l2 || temp) { var l1Val = l1 ? l1.val : 0; var l2Val = l2 ? l2.val : 0; temp = temp + l1Val + l2Val; node.next = new ListNode(temp % 10); node = node.next; temp = parseInt(temp / 10); l1 = l1 ? l1.next : l1; l2 = l2 ? l2.next : l2; }; return head.next;};
遇到的问题
- 当 l1 或 l2 达到链表的尾的时候,需要进行判断,否则会报错
- 当遇到最后一位要产生进位的时候,我们要判断 temp 的值
- 获取 l1 或者 l2 的 value 的时候 要判断 是否为空
转载地址:https://blog.csdn.net/leowahaha/article/details/110183627 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年08月29日 04时38分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
1.2JSP内置的对象
2019-05-24
1.3EL和JSTL
2019-05-24
3.1servlet入门和MVC模型
2019-05-24
3.2servlet功能和会话技术
2019-05-24
3.3servlet三大作用域
2019-05-24
泛型详解
2019-05-24
集合案例:斗地主
2019-05-24
1.1.MyBatis基本概念
2019-05-24
1.2.使用mybatis
2019-05-24
1.3.详解sql语句(上)
2019-05-24
1.4.详解sql语句(下)重点
2019-05-24
idea常用快捷键
2019-05-24
MySQL学习01:一条SQL查询语句是如何执行的
2019-05-24
1-1-1.初始`java`
2019-05-24
1-1-2.数据类型
2019-05-24
1-1-3.运算符
2019-05-24
1-2-1.方法
2019-05-24
1-3-1.面向对象
2019-05-24
1-3-2.属性和方法
2019-05-24
1-3-3.构造方法
2019-05-24