66. Plus One

来源:互联网 发布:福州seo技术培训 编辑:程序博客网 时间:2024/05/10 06:21

Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.

You may assume the integer do not contain any leading zero, except the number 0 itself.

The digits are stored such that the most significant digit is at the head of the list.
这道题的要求是给定一个数组表示非负整数,其高位在数组的前面,对这个整数加1。
简单的大数加法,遍历数组的每位,同时处理进位,如果最后还有进位,则在数组最前面在插入1即可。
时间复杂度:O(n)
空间复杂度:O(1)

vector<int> plusOne(vector<int>& digits)    {        int carryNum = 1; //保存进位        for(int i = digits.size() - 1; i >= 0; i--)        {            int temp = digits[i] + carryNum;            digits[i] = temp % 10;            carryNum = temp / 10;        }        if( carryNum == 1)        {            digits.insert(digits.begin(),1);        }        return digits;    }
0 0
原创粉丝点击