[leetCode] Plus One

来源:互联网 发布:php curl post 图片流 编辑:程序博客网 时间:2024/04/28 05:32

Given a number represented as an array of digits, plus one to the number.


class Solution {public:    vector<int> plusOne(vector<int> &digits) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        vector<int> result(digits.size()+1,0);        int carry=0;        for(int i=digits.size()-1;i>=0;i--)        {            if(i==digits.size()-1)            {                result[i+1]=(digits.at(i)+1)%10;                carry=(digits.at(i)+1)/10;            }            else{                result[i+1]=(digits.at(i)+carry)%10;                carry=(digits.at(i)+carry)/10;            }        }        if(carry==1){            result[0]=1;        }        else{            //delete result[0]            for(int i=0;i<digits.size();i++)            {                result[i]=result[i+1];            }            result.pop_back();        }        return result;    }};

Or:

class Solution {public:    vector<int> plusOne(vector<int> &digits) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        vector<int> result(digits.size(),0);        int carry=0;        for(int i=digits.size()-1;i>=0;i--)        {            if(i==digits.size()-1)            {                result[i]=(digits.at(i)+1)%10;                carry=(digits.at(i)+1)/10;            }            else{                result[i]=(digits.at(i)+carry)%10;                carry=(digits.at(i)+carry)/10;            }        }        if(carry==1){            result.insert(result.begin(),carry);        }        return result;    }};


原创粉丝点击