66. Plus One

Given a non-negative number represented as an array of digits, plus one to the number.

The digits are stored such that the most significant digit is at the head of the list.

 

 1 class Solution {
 2 public:
 3     vector<int> plusOne(vector<int>& digits) {
 4         
 5         for (auto iter = digits.rbegin(); iter != digits.rend(); ++iter)
 6         {
 7             if (*iter <= 8)
 8             {
 9                 *iter += 1;
10 
11                 return digits;
12             }
13             else
14             {
15                 if (iter != (digits.rend() - 1))
16                 {
17                     *iter = 0;
18                 }
19                 else
20                 {
21                     *iter = 1;
22                     digits.push_back(0);
23 
24                     return digits;
25                 }
26             }
27         }
28     }
29 };

 

posted @ 2016-04-10 23:14  Ricardo  阅读(122)  评论(0编辑  收藏  举报