給定兩個表示爲字符串的非負數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