LeetCode Day53 plus-one

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int carry=1;
        for(int i=digits.size()-1;i>=0;i--){
            int tmp=digits[i]+carry;
            digits[i]=tmp%10;
            carry=tmp/10;
        }
        if (carry != 0) digits.insert(digits.begin(), carry);
        return digits;
    }
};

只需判断9和非9,9的话置零,继续下一次循环;非9加一直接返回

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

猜你喜欢

转载自blog.csdn.net/weixin_41394379/article/details/84953174