[leetcode] 66. 加一

66. 加一

模拟加法运算,很简单

注意进位即可

class Solution {
    public int[] plusOne(int[] digits) {
        int k = digits.length - 1;
        digits[k] += 1;
        while (k > 0) {
            if (digits[k] < 10) break;
            digits[k] -= 10;
            digits[k - 1] += 1;
            k--;
        }
        if (digits[0] >= 10) {
            digits[0] -= 10;
            int[] ans = new int[digits.length + 1];
            ans[0] = 1;
            System.arraycopy(digits, 0, ans, 1, digits.length);
            return ans;
        } else {
            return digits;
        }
    }
}

posted @ 2018-07-24 23:28  ACBingo  阅读(230)  评论(0编辑  收藏  举报