66. 加一

package leetcode;

public class demo_66 {
    public int[] plusOne(int[] digits) {
        int arr[]=new int[digits.length+1];
        int flag=0;
        //判断是否进位
        int add=1;
        //排除所有9,99,999之类的数字
        for(int i=digits.length-1;i>=0;i--) {
            if(digits[i]==9&&add==1) {
                arr[i]=0;
                add=1;
            }
            else {
                if(add==1) {
                    arr[i]=digits[i]+1;
                }
                else {
                    arr[i]=digits[i];
                }
                if(digits[i]!=9) {
                    flag=1;
                }
                add=0;
            }
        }
        if(flag==0) {
            arr[0]=1;
            for(int i=1;i<arr.length;i++) {arr[i]=0;}
            for(int i:arr) {
                System.out.println(i);
            }
            return arr;
        }
        else {
            for(int i=0;i<digits.length;i++) {
                digits[i]=arr[i];
                System.out.println(digits[i]);
            }
            return digits;
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        demo_66 d66=new  demo_66();
        int[] digits= {4,9,1,9};
        d66.plusOne(digits);
    }

}

 

posted on 2021-04-02 21:11  一仟零一夜丶  阅读(63)  评论(0)    收藏  举报