LeetCode 66 — Plus One( Java 递归)

来源:互联网 发布:珠海软件培训机构 编辑:程序博客网 时间:2024/06/01 19:09
LeetCode 66 — Plus One( Java 递归) public class Solution {    int t=0;    public int[] plusOne(int[] digits) {        add(digits,digits.length-1);        if(t!=0){            digits=Arrays.copyOf(digits, digits.length+1);            digits[0]=1;            return digits;        }        return digits;    }    public void add(int[] digits,int i){//判断是否满足进位要求,满足则当前置0,然后进位,不满足则当前位加1,退出递归        if(t!=0)        if(i<0) return ;        if(digits[i]+1>9){            digits[i]=0;            if(i==0){//如果递归到最后一位,仍需进位,则改变标志位t,在递归外部对数组进行扩容(我想在递归内部进行扩容可惜没有做到,如有解决办法欢迎留言)                t=1;                return;            }            add(digits,--i);           }else{            digits[i]=digits[i]+1;            return  ;        }        }}