43. Multiply Strings
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class Solution {
public String multiply(String num1, String num2) {
if(num1.equals("0") || num2.equals("0")) return "0";
int num1Len = num1.length(),
num2Len = num2.length();
int[] product = new int[num1Len+num2Len];
for(int i = num1Len-1; i >= 0; i--) {
int val1 = num1.charAt(i)-'0';
for(int j = num2Len-1; j >= 0; j--) {
int val = (val1 * (num2.charAt(j)-'0'));
int p1 = i+j;
int p2 = i+j+1;
val += product[p2];
product[p1] += val/10;
product[p2] = val%10;
}
}
StringBuilder result = new StringBuilder();
for(int val: product) {
if(!(val == 0 && result.length() == 0)) {
result.append(val);
}
}
return result.toString();
}
}