leetcode 82: Multiply String
Multiply StringsMar
12 '12
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note: The numbers can be arbitrarily large and are non-negative.
uncompleted
public class Solution { public String multiply(String num1, String num2) { // Start typing your Java solution below // DO NOT write main() function int sz1 = num1.length(); int sz2 = num2.length(); if(sz1<1 || sz2<1) return new String(); char[] res = new char[sz1+sz2]; int carry =0; for(int i=sz1-1; i>=0; i--) { char c = num1.charAt(i); carry =0; int k=i+sz2; for(int j=sz2-1; j>=0; j--) { int t = (c-'0') * (num2.charAt(j)-'0') + carry; if(res[k]!=0) t += res[k]-'0'; carry = t/10; res[k--] = (char)(t%10 + '0'); } if(carry!=0) res[k] = (char)(carry + '0'); } if(carry!=0) { res[0] = (char)(carry + '0'); return new String(res); } else { return new String(res,1,res.length-1); } } }