題解 | #大數(shù)加法#
大數(shù)加法
http://www.fangfengwang8.cn/practice/11ae12e8c6fe48f883cad618c2e81475
倒序按位相加即可。注意進(jìn)位
import java.util.*; public class Solution { /** * 代碼中的類名、方法名、參數(shù)名已經(jīng)指定,請(qǐng)勿修改,直接返回方法規(guī)定的值即可 * * 計(jì)算兩個(gè)數(shù)之和 * @param s string字符串 表示第一個(gè)整數(shù) * @param t string字符串 表示第二個(gè)整數(shù) * @return string字符串 */ public String solve (String s, String t) { char[] arr = new char[Math.max(s.length(), t.length()) + 1]; int p = 0; // 進(jìn)位 int index = arr.length - 1; for (int i = s.length() - 1, j = t.length() - 1; i >= 0 || j >= 0; i--, j--) { int x = 0, y = 0; if (i >= 0) x = Integer.parseInt(String.valueOf(s.charAt(i))); if (j >= 0) y = Integer.parseInt(String.valueOf(t.charAt(j))); int num = x + y + p; p = num > 9 ? 1 : 0; char c = Character.forDigit(num % 10, 10); arr[index--] = c; } if (p == 1) { arr[index] = '1'; return new String(arr); } else return new String(arr,1, arr.length-1); } }