ref 的code写的很漂亮 http://blog.csdn.net/fightforyourdream/article/details/17370495
public class Solution {
public String multiply(String num1, String num2) {
if(num1==null||num2==null) return null;
// 漂亮的代码参考 http://blog.csdn.net/fightforyourdream/article/details/17370495
String n1 = new StringBuilder(num1).reverse().toString();
String n2 = new StringBuilder(num2).reverse().toString();
int len = n1.length()+n2.length();
int[] d = new int[len];
for(int i=0; i< n1.length(); i++){
for(int j = 0; j< n2.length(); j++){
//d[i+j] = (n1.charAt(i)-'0')*(n2.charAt(j)-'0');
d[i+j] += (n1.charAt(i)-'0')*(n2.charAt(j)-'0');
}
}
StringBuilder res = new StringBuilder();
int digit = 0, carry = 0;
for(int i=0; i<len; i++){
digit = d[i]%10;
carry = d[i]/10;
if(i+1<len) d[i+1] += carry;
res.insert(0,digit);
}
while(res.charAt(0)=='0' && res.length()>1){
res.deleteCharAt(0);
}
return res.toString();
}
}