java

大数加法

http://www.nowcoder.com/questionTerminal/11ae12e8c6fe48f883cad618c2e81475

90ms

public class Solution {
    public String solve (String s, String t) {
        char[] char1 = s.toCharArray();
        char[] char2 = t.toCharArray();
        int i = char1.length-1;
        int j = char2.length-1;
        //carry表进位
        int carry = 0;
        StringBuffer ans = new StringBuffer();
        while (i >= 0 || j >= 0 || carry != 0) {
            int a = 0;
            int b = 0;
            if(i >= 0) {
                a = char1[i] - '0';
                i--;
            }
            if (j >= 0) {
                b = char2[j] - '0';
                j--;
            }
            int sum = a + b + carry;
            int rem = sum % 10;
            carry = sum / 10;
            ans.append(rem);
        }
        StringBuffer res = ans.reverse();
        return new String(res);
    }
}
全部评论

相关推荐

评论
9
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务