leetcode两数之和我本地执行正确提交却错误

发布于 2022-09-11 21:00:02 字数 1160 浏览 19 评论 0

题目描述

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

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

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/probl...

题目来源及自己的思路

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} l1
 * @param {ListNode} l2
 * @return {ListNode}
 */
function sum(node, str = '') {
    str = String(node.val) + str;
    if(node.next != null) {
        str = sum(node.next, str);
    }
    return str;
}
var addTwoNumbers = function(l1, l2) {
    let num1 = sum(l1);
    let num2 = sum(l2);
    let str = String(Number(num1)+Number(num2));
    let res = [];
    for(let i = 0; i < str.length; i++) {
        res.unshift(Number(str[i]));
    }
    return res;
};

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半城柳色半声笛 2022-09-18 21:00:02

Hi 不知道题主你还有没有在看这个问题。

首先是对于有报错的 CASE,在错误那里,LEETCODE 会给你展示具体的错误 CASE。你可以看看里面的信息可能有助于寻找错误。

另外看了一下你的代码,应该是不能 AC 的,因为这道题背后要考察的内容就是大数求和。在 JS 中,数字都是以双精度浮点数的形式存储的,并且遵循 IEEE754 标准。所以并不能对所有的数字直接进行精确的运算。具体你可以通过 Number.MAX_VALUENumber.MAX_SAFE_INTEGER 查看到一些范围。

这道题你可以尝试通过同步遍历两个链表,然后逐位的运算来得到结果。如果具体实现有问题,可以留言。

热血少△年 2022-09-18 21:00:02

这个一看基本判断是大数溢出了,这个题目考的是大数的处理,你应该基于原有的数据结构直接求和而不是合并再拆开。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文