您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页OJ lintcode 加一

OJ lintcode 加一

来源:二三娱乐

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。
您在真实的面试中是否遇到过这个题?
Yes
样例
给定 [1,2,3] 表示 123, 返回 [1,2,4].
给定 [9,9,9] 表示 999, 返回 [1,0,0,0].

class Solution {
public:
    /**
     * @param digits a number represented as an array of digits
     * @return the result
     */
    vector<int> plusOne(vector<int>& digits) {
        // Write your code here

        vector<int> rec_digits(digits.rbegin(),digits.rend());
        int flag=1;

        for(int i=0;i<rec_digits.size();i++){
            int val=rec_digits[i]+flag;
            if(val>=10){
                rec_digits[i]=val�;
                flag=val/10;
            }
            else{
                rec_digits[i]=val;
                flag=0;
            }
        }
        if(flag==1){
            rec_digits.push_back(1);
        }
        digits.assign(rec_digits.rbegin(),rec_digits.rend());
        return digits;

    

    }
};

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务