[Leetcode66] Plus One

给一个列表代表一个数,并给他加一。

这道题主要考查的是我们有没有考虑进位的情况。

python:

class Solution(object):
    def plusOne(self, digits):
        """
        :type digits: List[int]
        :rtype: List[int]
        """
        i = len(digits)-1
        while i >= 0:
            if digits[i] < 9:
                digits[i] += 1
                return digits
            else:
                digits[i] = 0
                if i > 0:
                    i -= 1
                else:
                    digits = [1] + digits
                    return digits
                

C++: 

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int i = digits.size() - 1;
        while(i >= 0){
            if(digits[i] < 9){
                digits[i] += 1;
                return digits;
            }
            else{
                digits[i] = 0;
                if(i > 0) i -= 1;
                else{
                    digits.insert(digits.begin(),1);
                    return digits;
                }
            }
        }
    }
};

猜你喜欢

转载自blog.csdn.net/qq_40501689/article/details/83096789