大数乘法
先转成数字数组。在进行相乘。 先处理成字符样式。 之后先处理0,再转成StringBuffer。
public String solve (String s, String t) {
// write code here
int m=s.length();
int[] arr1=new int[m];
for (int i=0;i<m;i++) arr1[i]=s.charAt(i)-'0';
int n=t.length();
int[] arr2=new int[n];
for (int i=0;i<n;i++) arr2[i]=t.charAt(i)-'0';
int[] nums=new int[m+n];
for (int i=0;i<m;i++){
for (int j=0;j<n;j++){
nums[i+j+1]+=arr1[i]*arr2[j];
}
}
int carry=0;
for (int i=nums.length-1;i>=0;i--){
int num=carry+nums[i];
nums[i]=num%10;
carry=num/10;
}
int cur=0;
while (cur< nums.length&&nums[cur]==0) cur++;
StringBuilder sr=new StringBuilder();
for (int i=cur;i< nums.length;i++){
sr.append(nums[i]);
}
return sr.length()==0?"0":sr.toString();
}