Given a non-negative number represented as an array of digits, plus one to the number.
1. 数字 正序排列
6789= 6 7 8 9;
2.反序 计算,判断进位
9 8 7 6 +1
0 9 7 6
3.反序排列
- class Solution {
- public:
- vector<int> plusOne(vector<int> &digits) {
- // Start typing your C/C++ solution below
- // DO NOT write int main() function
- vector<int> v;
- int next = 1;
- for(int i = digits.size() - 1; i >= 0 ; i--)
- {
- int tmp = digits[i] + next;
- v.push_back(tmp%10);
- next = tmp/10;
- }
- if(next != 0)
- {
- v.push_back(next);
- }
- for(int i = 0; i < v.size()/2; i++)
- {
- int t = v[i];
- v[i] = v[v.size() - 1 - i];
- v[v.size() - 1 - i] = t;
- }
- return v;
- }
- };