Shawngbk / Leecode

Questions of Leecode
0 stars 0 forks source link

415. Add Strings #66

Open Shawngbk opened 7 years ago

Shawngbk commented 7 years ago

从字符串的最后一位开始算,每次计算结果加到res的头,所以最后需要reverse(),注意进位,-‘0’是为了变成整数,0的ASCii码是48

public class Solution { public String addStrings(String num1, String num2) { StringBuilder sb = new StringBuilder(); int len1 = num1.length(); int len2 = num2.length(); int carry = 0; for(int i = 0; i < len1 || i < len2; i++) { int r1 = i < len1 ? (num1.charAt(len1-1-i) - '0') : 0; int r2 = i < len2 ? (num2.charAt(len2-1-i) - '0') : 0; int res = r1 + r2 + carry; sb.append(res%10); carry = res/10; } if(carry == 1) { sb.append("1"); } return sb.reverse().toString(); } }