给定两个表示为字符串的非负数num1和num2,返回num1和num2的和。添加存储在字符串变量中的数字
既NUM1和NUM2的长度小于5100
两个NUM1和NUM2仅包含数字0-9。
num1和num2都不包含任何前导零。
您不能使用任何内置BigInteger库或将输入直接转换为整数。
我试过我的解决方案,但它不起作用。建议?
public class Solution {
public String addStrings(String num1, String num2) {
double multiplier = Math.pow(10, num1.length() - 1);
int sum = 0;
for (int i = 0; i < num1.length(); i++){
sum += ((((int) num1.charAt(i)) - 48) * multiplier);
multiplier /= 10;
}
multiplier = Math.pow(10, num2.length() - 1);
for (int i = 0; i < num2.length(); i++){
sum += ((((int) num2.charAt(i)) - 48) * multiplier);
multiplier /= 10;
}
return "" + sum;
}
}
请给出一个示例输入和示例输出。 –
您正在从左到右添加数字,而不是反之。您没有添加前一阶段的进位。你使用'int'作为总和,但是你的输入可以是> 5000数字? – TDG