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 {
public:
    vector<int> plusOne(vector<int>& digits) {
        int len = digits.size();
        for(int i = len - 1; i >= 0;i--)
        {
            if(digits[i] + 1 < 10)
            {
                digits[i] = digits[i] + 1;
                break;
            }
            else
            {
                digits[i] = 0;
                if(i == 0)
                {
                    digits.clear();
                    digits.push_back(1);
                    for(int j = 0 ;j < len; j++)
                        digits.push_back(0);
                }
            }
        }
        return digits;
    }
};

2016-08-08 23:27:58