leetcode[67] Plus One

题目:对一个用vector存的数字进行加1,然后返回加1后的值。

一次就在oj上通过了。

就是进位加上当前位如果大于9,那就当前位等于0;

随后进位还为1的话就是在数组前面插入一个1;

class Solution {

public:

    vector<int> plusOne(vector<int> &digits) 

    {

        int up = 1;

        int len = digits.size() - 1;

        while(len >= 0)

        {

            if (digits[len] + up > 9)

            {

                digits[len] = 0;

            }

            else

            {

                digits[len] += up;

                return digits;

            }

            len--;

        }

        digits.insert(digits.begin(), 1);

        return digits;

    }

};

 2015/03/29:

python:

class Solution:

    # @param digits, a list of integer digits

    # @return a list of integer digits

    def plusOne(self, digits):

        up = 1

        length = len(digits) - 1

        for i in range(len(digits)):

            digits[length-i] += up

            up = digits[length-i]/10

            digits[length-i] %= 10

        if up == 1:

            digits.insert(0, 1)

        return digits

 

你可能感兴趣的:(LeetCode)