LeetCode 66. Plus One
博客转载自:http://www.cnblogs.com/grandyang/p/4079357.html
Solution1:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int i = digits.size() - 1;
bool a=true;
while (a) {
if (++digits[i] < 10) {//细节处理要细心
a = false;
}
else digits[i] = 0;
--i;
if (i == -1)
break;
}
if (digits[0]%10 == 0)
digits.insert(digits.begin(),1);//思考要全面!!
return digits;
}
};
Solution2:
这个答案真是棒棒棒啊!!!
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
int n = digits.size();
for (int i = n - 1; i >= 0; --i) {
if (digits[i] == 9) digits[i] = 0;
else {
digits[i] += 1;
return digits;
}
}
if (digits.front() == 0) digits.insert(digits.begin(), 1);
return digits;
}
};