Plus One

Given a 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         int carry = 1;
 5         for(int i = digits.size()-1; i >= 0 && carry; i--) {
 6             int sum = carry + digits[i];
 7             carry = sum / 10;
 8             digits[i] = sum % 10;
 9         }
10         if(carry == 1) {
11             digits.insert(digits.begin(), 1);
12         }
13         return digits;
14     }
15 };

 

posted @ 2014-04-05 01:25  beehard  阅读(170)  评论(0编辑  收藏  举报