标签:
解决这个问题的很长时间用在了理解题意的阶段,本题的题意就是用一个数组表示一个很大的数,比如对于98,9存储于array[0],8存储于array[1]。然后对这个数加1,返回表示新数的一个数组。
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int length = digits.size();
int overflow;
vector<int>::iterator iter = digits.begin();
for(; iter != digits.end(); iter++) {
if(*iter != 9)
break;
}
if(iter == digits.end()) {
vector<int> result;
result.push_back(1);
for(int i = 0; i < length; i++) {
result.push_back(0);
}
return result;
}
iter = digits.end() - 1;
overflow = 1;
while(overflow == 1) {
if(*iter + 1 == 10) {
*iter = 0;
overflow = 1;
iter--;
}else {
*iter += 1;
overflow = 0;
}
}
return digits;
}
};
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/guanzhongshan/article/details/46654555