import java.util.*;
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二个整数 * @return string字符串 */ public String solve (String s, String t) { // write code here // 两个字符串逆序,新建结果数组, // 先计算最后一位数字,逢十进1,再计算倒数第二个,依次计算,直到第一个数字 String s_reverse = new StringBuffer(s).reverse().toString(); String t_reverse = new StringBuffer(t).reverse().toString(); int max_len = s_reverse.length()>t_reverse.length()?s_reverse.length():t_reverse.length(); int[] arr = new int[100001]; for(int i=0; i<max_len; i++){ int a = 0; int b = 0; if(i<s_reverse.length()){ a = Integer.parseInt(String.valueOf(s_reverse.charAt(i))); } if(i<t_reverse.length()){ b =Integer.parseInt(String.valueOf(t_reverse.charAt(i))); } int c = a + b + arr[i]; arr[i] = c%10; arr[i+1] = c/10; System.out.println(arr[i]); }
StringBuffer sb = new StringBuffer(); System.out.println(arr[max_len]); if(arr[max_len]!=0 ){ sb.append(arr[max_len]); } for(int k=max_len-1; k>=0; k--){ sb.append(arr[k]); } return sb.toString(); } }
标签:arr,reverse,大数,int,max,len,加法,String From: https://www.cnblogs.com/northli/p/16879634.html