您的位置:首页 > 其它

66 Plus One

2018-03-19 10:01 218 查看
Plus One

将给定数组中各元素看作一个整数的位数,将该整数加一。

class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
if (digits.back() < 9){
digits.back() += 1;

} else{
digits.back() += 1;
for (int i = digits.size()-1; i >= 0; i--){
if (digits[i] > 9 && i != 0){
digits[i] = 0;
digits[i - 1]++;
} else if (digits[i] > 9 && i == 0){
digits[i] = 0;
digits.insert(digits.begin(), 1);
}
}
}
return digits;
}
};


一个简洁的解答代码:

void 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]++;
return;
}
}
digits[0] =1;
digits.push_back(0);

}


改进:

vector<int> plusOne(vector<int>& digits) {
for (int i=digits.size(); i--; digits[i] = 0)
if (digits[i]++ < 9)
return digits;
digits[0]++;
digits.push_back(0);
return digits;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: