public class Solution {
public String multiply(String num1, String num2) {
if (num1 == null || num1.length() == 0 || num2 == null || num2.length() == 0) {
return "";
}
int l1 = num1.length(), l2 = num2.length();
int l3 = l1 + l2;
int[] res = new int[l1 + l2];
int i = l1 - 1;
for (; i >= 0; i--) {
int carry = 0;
int j = l2 -1;
int n1 = num1.charAt(i) - '0';
for (; j >= 0; j--) {
int num = res[i + j + 1] + carry + n1 * (num2.charAt(j) - '0');
res[i + j + 1] = num % 10;
carry = num / 10;
}
res[i + j + 1] = carry;
}
i = 0;
while (i < l3 - 1 && res[i] == 0) {
i++;
}
StringBuilder sb = new StringBuilder();
while (i < l3) {
sb.append(res[i++]);
}
return sb.toString();
}
}
Multiply Strings
最新推荐文章于 2024-04-28 07:28:07 发布