您的位置:首页 > 其它

【leetcode】Array—— Plus One(66)

2016-02-29 14:48 405 查看
题目:

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.

[1,2,3]->[1,2,4] [9,9]->[1,0,0]
思路:从数字的低位出发(数组的高位),如果是num[i]==9,令num[i]=0;如果不是9,则+1,然会num。

然后可以判断num[0]是不是0,如果是0,说明原来数字是99…9,new int[len+1] ,第一位设为1,返回。

也可以当for循环结束,直接认为是99…9,new return

代码:

public int[] plusOne(int[] digits) {
for(int i=digits.length-1;i>=0;i--){
if(digits[i]<9){
digits[i]++;
return digits;
}
digits[i]=0;
}
//if not return in-For,mean the digits is 99……9
int [] newDigits = new int[digits.length+1];
newDigits[0]=1;
return newDigits;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: