import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 第一个整数 * @param t string字符串 第二个整数 * @return string字符串 */ public String solve (String s, String t) { char[] sa = s.toCharArray() ; char[] ta = t.toCharArray() ; reverse(sa) ; reverse(ta) ; int[] temp = new int[sa.length + ta.length] ;//保存未处理进位时候的结果 for(int i = 0 ; i < sa.length ; i ++) {//不考虑进位,直接相加 for(int j = 0 ; j < ta.length ; j ++) { temp[j + i] += (ta[j]-'0') * (sa[i]-'0') ; } } //处理进位 StringBuilder sb = new StringBuilder() ; int jinwei = 0 ; int baoliu = 0 ; for(int i = 0 ; i < temp.length ; i ++) { int cur_num = temp[i] + jinwei ; baoliu = cur_num % 10 ; jinwei = cur_num / 10 ; temp[i] = baoliu ; sb.append(""+temp[i]) ; } String res = sb.reverse().toString() ; int i = 0 ; while(i < res.length() - 1) {//去除前导0 if(res.charAt(i) != '0') { break ; } i ++ ; } return res.substring(i) ; } //翻转字符数组 public void reverse(char[] arr) { int i = 0 ; int j = arr.length - 1 ; while(i < j) { char t = arr[i] ; arr[i] = arr[j] ; arr[j] = t ; i ++ ; j -- ; } } }