每个位置上的数先单独算 然后再算进位。
没啥意思
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param s string字符串 第一个整数
* @param t string字符串 第二个整数
* @return string字符串
*/
public String solve (String s, String t) {
char[] arr1 = s.toCharArray();
char[] arr2 = t.toCharArray();
int[] sum = new int[arr1.length + arr2.length];
for(int i=arr1.length-1;i>=0;i--){
for(int j=arr2.length-1;j>=0;j--){
int numa = arr1[i] - '0';
int numb = arr2[j] - '0';
sum[arr1.length + arr2.length - i-j-2] = sum[arr1.length + arr2.length - i-j-2] + numa*numb;
}
}
int len = 0;
for(; len<sum.length && sum[len]!=0 ;len++){
if(sum[len]>=10){
sum[len+1] = sum[len+1] + sum[len] / 10;
sum[len] = sum[len] % 10;
}
}
char[] ans = new char[len] ;
for(int i=0; i<ans.length;i++){
ans[i] = (char) (sum[len-1-i] + '0');
}
if(len == 0) return "0";
else return new String(ans);
}
}


京公网安备 11010502036488号