Tony's Log

Algorithms, Distributed System, Machine Learning

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

The trick is, we can work on a reversed vector - learnt from EPI.

class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        std::reverse(digits.begin(), digits.end());
        int i = 0;
        digits[i] += 1;
        while (digits[i] >= 10)
        {
            digits[i++] = 0;
            if (i == digits.size())
            {
                digits.push_back(0);
            }
            digits[i] += 1;
        }
        std::reverse(digits.begin(), digits.end());
        return digits;
    }
};
posted on 2014-07-21 10:32  Tonix  阅读(146)  评论(0编辑  收藏  举报