Problem 43: Multiply Strings
思路
public class Solution {
public String multiply(String num1, String num2) {
int len1 = num1.length(), len2 = num2.length();
int[] num3 = new int[len1 + len2];
int i, j, product, carrier;
for (i = len1 - 1; i >= 0; i--) {
carrier = 0;
for (j = len2 - 1; j >= 0; j--) {
product = carrier + num3[i + j + 1] + Character.getNumericValue(num1.charAt(i)) * Character.getNumericValue(num2.charAt(j));
num3[i + j + 1] = product % 10;
carrier = product / 10;
}
num3[i + j + 1] = carrier;
}
StringBuilder sb = new StringBuilder();
i = 0;
while (i < num3.length - 1 && num3[i] == 0) {
i++;
}
while (i < num3.length) {
sb.append(num3[i]);
i++;
}
return sb.toString();
}
}易错点
Follow Up
Last updated