[leetcode] Plus One

Plus One

从低位开始运算,注意首位的进位

class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        int cf=1;//carry flag
        for(auto i=digits.rbegin();i!=digits.rend();i++){
            *i+=cf;
            if(*i>=10){
                *i-=10;
                cf=1;
            }else{
                cf=0;
            }
        }
        //first position
        if(cf==1){
            digits.insert(begin(digits),1);
        }
        return digits;
    }
};


你可能感兴趣的:([leetcode] Plus One)