@@ -0,0 +1,1097 @@
+// Given two numbers represented as strings, return multiplication of the numbers as a string.%0A%0A// Note: The numbers can be arbitrarily large and are non-negative.%0A%0Apublic class Solution %7B%0A    public String multiply(String num1, String num2) %7B%0A    %09int len1 = num1.length();%0A    %09int len2 = num2.length();%0A%0A    %09if(len1 == 0 %7C%7C len2 == 0)%7B%0A    %09%09return %22%22;%0A    %09%7D%0A%0A    %09int%5B%5D num = new int%5Blen1 + len2%5D;%0A%0A    %09for(int i = len1 - 1; i %3E= 0; i--)%7B%0A    %09%09int carry = 0;%0A    %09%09int product = 0;%0A    %09%09int j = len2 - 1;%0A%0A    %09%09for(; j %3E= 0; j--)%7B%0A    %09%09%09int first = num1.charAt(i) - '0';%0A    %09%09%09int second = num2.charAt(j) - '0';%0A    %09%09%09product = carry + num%5Bi + j + 1%5D + first * second;%0A    %09%09%09num%5Bi + j + 1%5D = product %25 10;%0A    %09%09%09carry = product / 10;%0A    %09%09%7D%0A%0A    %09%09num%5Bi + j + 1%5D = carry;%0A    %09%7D%0A%0A    %09StringBuilder sb = new StringBuilder();%0A%0A    %09for(int i = 0; i %3C num.length; i++)%7B%0A    %09%09if(num%5Bi%5D != 0)%7B%0A    %09%09%09for(int j = i; j %3C num.length; j++)%7B%0A    %09%09%09%09sb.append(num%5Bj%5D);%0A    %09%09%09%7D%0A    %09%09%09break;%0A    %09%09%7D%0A    %09%09if(i == num.length - 1) sb.append('0');%0A    %09%7D%0A%0A    %09return sb.toString();%0A    %7D%0A%7D

add multiply strings solution