按位依次相乘,相加再进位
class Solution { public String multiply(String num1, String num2) { if(num1.equals("0") || num2.equals("0")){ return "0"; } int m = num1.length(); int n = num2.length(); int[] mn = new int[m+n]; for(int i = m-1;i >= 0;i--){ int x = num1.charAt(i) - '0'; for(int j = n-1;j >= 0;j--){ int y = num2.charAt(j) - '0'; mn[i+j+1] += x * y; } } for(int i = m + n - 1;i > 0;i--){ mn[i-1] += mn[i]/10; mn[i] = mn[i] % 10; } StringBuffer result = new StringBuffer(); int index = mn[0] == 0 ? 1:0; while(index < m+n){ result.append(mn[index]); index++; } return result.toString(); }}