Given two non-negative integers num1
and num2
represented as strings, return the product of num1
and num2
.
Note:
num1
and num2
is < 110.num1
and num2
contains only digits 0-9
.num1
and num2
does not contain any leading zero.此题考查数学和数组的结合,直接上代码:
public class Solution {
public String multiply(String num1, String num2) {
int m = num1.length();
int n= num2.length();
int[] pos = new int[m+n];
for(int i=m-1;i>=0;i--){
for(int j=n-1;j>=0;j--){
int p1 = i+j;
int p2 = i+j+1;
int mul = (num1.charAt(i)-‘0‘)*(num2.charAt(j)-‘0‘);
int sum = pos[p2]+mul;
pos[p2]= sum%10;
pos[p1] = sum/10+pos[p1];
}
}
StringBuilder sb = new StringBuilder();
for(int i:pos){
if(!(i==0&&sb.length()==0)){
sb.append(i);
}
}
return sb.length()==0?"0":sb.toString();
}
}
原文:http://www.cnblogs.com/codeskiller/p/6357953.html