43. Multiply Strings

LeetCode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public String multiply(String num1, String num2) {
int m =num1.length(), n=num2.length();
int[] pos=new int[m+n];
for(int i=m-1;i>=0;i--)
for(int j=n-1;j>=0;j--){
int multiplication=(num1.charAt(i)-'0')*(num2.charAt(j)-'0');
int p1=i+j,p2=i+j+1;
int sum=multiplication+pos[p2];

pos[p2]=sum%10;
pos[p1]+=sum/10;
}
StringBuilder sb=new StringBuilder();
for(int p:pos) if(!(sb.length()==0&&p==0)) sb.append(p);
return sb.length()==0?"0":sb.toString();
}
}
0%