还是花了不少时间来写
public String twoSum(String s1, String s2){ int max = Math.max(s1.length(), s2.length()); int[] ret = new int[max+1]; int plus = 0; for (int i=0; i<=max; i++) { int up = i > s1.length() - 1 ? 0 : s1.charAt(s1.length() - i - 1) - '0'; int down = i > s2.length() - 1 ? 0 : s2.charAt(s2.length() - i - 1) - '0'; if (i > s1.length()-1 && i > s2.length() - 1) { // 处理最后一位 if (plus == 1) { ret[i] = 1; } break; } int sum = up + down + plus; plus = sum >= 10 ? 1 : 0; ret[i] = sum % 10; } StringBuilder s = new StringBuilder(); for (int i=max; i>=0; i--) { if (i==max && ret[i] == 0){ continue; } s.append(ret[i]); } return s.toString(); } public static void main(String[] args) { RpcHttpUtil rpcHttpUtil = new RpcHttpUtil(); System.out.println(rpcHttpUtil.twoSum(String.valueOf(Integer.MAX_VALUE), "456")); }