当前位置:   article > 正文

【加一算法】

【加一算法】

力扣问题描述:给定一个由整数组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位,数组中每个元素只存储单个数字。

只需要考虑进位,若为9,则需要将1插入最高位,过程:从最后一位向前逐位进行加法,第一位进行单独的判断,采用一个if循环,若末位没进位直接return最终结果。

class Solution{

public:

    vector<int> plusOne(vector<int>& digits){

        int n = digits.size();

        for (int i = n - 1; i >= 0; i--) {

            digits[i] = (digits[i] + 1) % 10;

            if (digits[i]) {

                return digits;

            }

        }

        vector<int> ans(n + 1, 0);

        ans[0] = 1;

        return ans;

    }

};

参考:作者:confident-shannonx64

链接:https://leetcode.cn/problems/plus-one/solution/by-confident-shannonx64-57kx/

来源:力扣(LeetCode)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/63452
推荐阅读
相关标签
  

闽ICP备14008679号