力扣 66. 加一

这道题真的让我费了一番功夫
借助于ArrayList和辅助变量k,模拟了一个虚拟两数相加,进位

class Solution {
    public int[] plusOne(int[] digits) {
        ArrayList<Integer> list = new ArrayList<>();
        int k = 1;
        for (int i = digits.length - 1; i >= 0; i--) {
            int sum = digits[i] + k;
            k = 0;
            if (sum >= 10){
                k++;
                sum -= 10;
            }
            list.add(sum);
        }
        for (; k > 0; k--) {
            list.add(k);
        }
        Collections.reverse(list);

        int[] ints = new int[list.size()];
        for (int i = 0; i < ints.length; i++) {
            ints[i] = list.get(i);
        }

        return ints;
    }
}
上一篇:2021.9.24 力扣-逆波兰表达式求值


下一篇:蓝桥杯- 基础练习:杨辉三角形