66 Plus One

来源:互联网 发布:python 替换 16进制 编辑:程序博客网 时间:2024/06/05 03:50
public class Solution {
   public int[] plusOne(int[] digits) {
if(digits==null||digits.length==0) return null;
        int len = digits.length;
        int f = 1;
        int p = len - 1;
        StringBuffer str = new StringBuffer();
        while(p>=0){
        int tmp = digits[p] + f;
        str.append(tmp%10);
        f = (tmp - tmp%10)/10;
        if(f==0){
        --p;
        while(p>=0){
        str.append(digits[p]);
        --p;
        }
        char[] tmpRes = str.toString().toCharArray();
        int tr_len = tmpRes.length;
        int[] res = new int[tr_len];
        int index = 0;
        for(int j=tr_len-1;j>=0;--j){
        res[index++] = new Integer(tmpRes[j] - '0');
        }
        return res;
        }
        --p;
        }
        
        if(f!=0){
        str.append(f);
        }
        
        char[] tmpRes = str.toString().toCharArray();
int tr_len = tmpRes.length;
int[] res = new int[tr_len];
int index = 0;
for(int j=tr_len-1;j>=0;--j){
res[index++] = new Integer(tmpRes[j] - '0');
}
return res;
        
    }

}
0 0
原创粉丝点击