您的位置:首页 > 其它

leetcode-66 plus one

2015-04-05 17:48 393 查看
题目的意思是:讲一个整形数组当成一个数字,对这个数字加一,然后返回加一后的数组(主要要考虑的就是999...这种情况)

题意动态数组存了一些个位数字,组成一个大数,计算这个大数加一之后的值。
模拟大数的加法,当没有进位的时候就可以弹出循环

class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        int i = digits.size()-1; //从个位开始加
        for(; i >= 0; i--){
            if(digits[i] == 9){
                digits[i] = 0;
            }else{
                digits[i]++;
                return digits;//没有进位,填出循环
            }
        }
        digits[0] = 1;
        digits.push_back(0);
        return digits;
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: