小编典典

我正在尝试在字符串中添加两个数字并返回它们的总和,但在隐藏的测试用例中遇到错误

all

我试图回答这个在字符串中添加两个数字并返回结果的 leetcode 问题。该代码适用于基本测试用例,但在隐藏测试用例中,代码无法返回正确的输出,而是返回一些不相关的值。我很难理解,有人可以帮忙吗?隐藏测试用例中给出的输入是: 输入 “3876620623801494171”“6529364523802684779” 输出 “-8040758926105372666” 预期 “10405985147604178950”

为什么会产生负值?

这是代码: 类解决方案 { public String addStrings(String num1, String num2) {

       long a,b;
        a=Long.parseLong(num1);
        b=Long.parseLong(num2);
       a= a+b;

        num1=String.valueOf(a);

        return num1;

    }
}

阅读 83

收藏
2022-06-29

共1个答案

小编典典

这是一个整数溢出。

    Your Value == 10405985147604178950
Long.MAX_VALUE ==  9223372036854775807

您可以使用 BigInteger 类来解决问题。

2022-06-29