@@ -0,0 +1,998 @@
+/***%0A * 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        int n1 = num1.length();%0A        int n2 = num2.length();%0A        int m%5B%5D = new int %5Bn1 + n2%5D;%0A        for (int i = n1 - 1, ofs1 = 0; i %3E= 0; i--, ofs1++)%0A            for (int j = n2 -1, ofs2 = 0; j %3E= 0; j--, ofs2++)%0A                m%5Bn1 + n2 - ofs1 - ofs2 - 1%5D += (num1.charAt(i) - '0') * (num2.charAt(j) - '0');%0A%0A        int add = 0, val;%0A        for (int t = n1 + n2 - 1; t %3E= 0; t--) %7B%0A            val = m%5Bt%5D + add;%0A            add = val / 10;%0A            m%5Bt%5D = val %25 10;%0A        %7D%0A%0A        StringBuffer sb = new StringBuffer();%0A        int s = 0;%0A        for (; s %3C m.length &&  m%5Bs%5D == 0; s++);%0A        for (int i = s; i %3C n1 + n2; i++)%0A            sb.append(m%5Bi%5D);%0A%0A        return sb.length() == 0 ? %220%22 : sb.toString();%0A    %7D%0A%7D%0A

add MultiplyStrings.java