您的位置:首页 > 其它

66 Plus One

2015-08-18 09:11 295 查看
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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: