Plus One
Given a number represented as an array of digits, plus one to the number.
*/class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int size = digits.size();
if(size==0) {
digits.push_back(1);
return digits;
}
bool plus = false;
vector<int>::reverse_iterator rit = digits.rbegin();
*rit = *rit+1;
if(*rit==10) {
*rit = 0;
plus = true;
}
rit++;
while(rit!=digits.rend()&&plus){
*rit = *rit+1;
if(*rit==10){
*rit = 0;
plus = true;
} else{
plus = false;
}
rit++;
}
if(plus) digits.insert(digits.begin(), 1);
return digits;
}
};
No comments:
Post a Comment