您的位置:首页 > 其它

leetcode 每日一题 66. Plus One

2016-03-19 16:35 369 查看
一开始没理解题意,是一个数用数组来表示的意思,然后对其进行+1操作

很老的思路,设一个标志位,依次判断,如果<9就自增,如果不的话就设为0

最后如果需要9999->10000的时候,需要insert一个1 在开头处(vector果然比数组好用啊!)

class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int len=digits.size();
int tmp=1;
for(int i=len-1;i>=0;i--){
if(digits[i]<9&&tmp==1){
digits[i]++;
tmp=0;
}
else if(digits[i]+tmp==10){  //某一位等于9并且tmp==1的时候
digits[i]=0;
tmp=1;
}
}
if(tmp==1) digits.insert(digits.begin(), 1);
return digits;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: