标签:
额,可能是我的理解能力太差吧,我还是要解释一下。
例如 999, 那么传入的 vector 就是 9, 9, 9
那么加一之后,返回的就是 1, 0, 0, 0
vector<int> plusOne(vector<int>& digits) {
++*(digits.end() - 1);
for (auto it = digits.rbegin(); it != digits.rend(); ++it){
if ((it + 1) != digits.rend() && *it == 10){
*it = 0;
++*(it + 1);
}
else if((it + 1) == digits.rend() && *it == 10){
*it = 0;
}
}
if (digits.front() == 0){
digits.insert(digits.cbegin(), 1);
}
return digits;
}
标签:
原文地址:http://www.cnblogs.com/wuOverflow/p/4728747.html