java:
先不处理进位,最后单独处理
class Solution {
public String multiply(String num1, String num2) {
if(num1.equals("0") || num2.equals("0")) return "0";
char[] n1 = num1.toCharArray();
char[] n2 = num2.toCharArray();
int[] ans = new int[n1.length + n2.length];
for(int i = 0; i < n1.length; i ++){
for(int j = 0; j < n2.length; j ++){
ans[i + j + 1] += (n1[i] - '0') * (n2[j] - '0');
}
}
for(int k = ans.length - 1; k >= 0; k --){
if(ans[k] >= 10){
ans[k - 1] += ans[k] / 10;
ans[k] %= 10;
}
}
StringBuilder sb = new StringBuilder();
for(int i : ans) sb.append(i);
if (sb.charAt(0) == '0') sb.deleteCharAt(0);
return sb.toString();
}
}