爱程序网

LeetCode - Plus One

来源: 阅读:

题目:

Given a non-negative number represented as an array of digits, plus one to the number.

The digits are stored such that the most significant digit is at the head of the list.

思路:

进位

package manipulation;

public class PlusOne {

    public int[] plusOne(int[] digits) {
        int n = digits.length;
        int i = n - 1;
        for (; i >= 0; --i) {
            if (digits[i] != 9) {
                ++digits[i];
                return digits;
            } else {
                digits[i] = 0;
            }
        }
        
        digits = new int[n + 1];
        digits[0] = 1;
        return digits;
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] digits = { 8,9,9 };
        PlusOne p = new PlusOne();
        for (int i : p.plusOne(digits))
            System.out.println(i);
    }

}

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助