题解 | #大数加法#

大数加法

https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475

倒序按位相加即可。注意进位

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        char[] arr = new char[Math.max(s.length(), t.length()) + 1];
        int p = 0;  // 进位
        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);
    }
}
全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务