66. Plus One-Leetcode

作者: analanxingde | 来源:发表于2018-01-24 11:10 被阅读1次

基础点

加1操作,从末尾开始向前计算进位,注意若进到最前一位还需要进位的话,要对vector进行插入操作:digits.insert(digits.begin(),1);
常见的vector插入操作:

vector.insert(pos,elem);   //在pos位置插入一个elem元素的拷贝,返回新数据的位置。
vector.insert(pos,n,elem);   //在pos位置插入n个elem数据,无返回值。
vector.insert(pos,beg,end);   //在pos位置插入[beg,end)区间的数据,无返回值
实现:
vecA:{1,3,5,7,9},vecB:{2,4,6,8}
vecA.insert(vecA.begin(), 11); //{11, 1, 3, 5, 7, 9}
vecA.insert(vecA.begin()+1,2,33); //{11,33,33,1,3,5,7,9}
vecA.insert(vecA.begin() , vecB.begin() , vecB.end() ); //{2,4,6,8,11,33,33,1,3,5,7,9}

我的解法

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int len=digits.size();
        int r=0,flag=1;
            
        for(int i=len-1;i>=0;i--)
        {
            if(i==len-1)
                r=1;
            if(digits[i]+r>=10)//digits[i]+r=10
            {
                r=1;
                digits[i]=(digits[i]+r)%10; //digits[i]=0
                if(i==0)
                    digits.insert(digits.begin(),1);
            }
            else
            {
                digits[i]=digits[i]+r;
                break;
            }
        }
        
        return digits;
    }
};

解法中可以简化的地方

此题加1,因为1的特殊性,最大的加和结果为10,且不需要对此结果进行计算,必然是余0进1的,所以上述的判断可以简化判断和取余计算。

相关文章

  • 66. Plus One-Leetcode

    基础点 加1操作,从末尾开始向前计算进位,注意若进到最前一位还需要进位的话,要对vector进行插入操作:digi...

  • LeetCode 66-70

    66. Plus One[https://leetcode-cn.com/problems/plus-one/] ...

  • 66. Plus One

    66. Plus One 题目:https://leetcode.com/problems/plus-one/ 难...

  • Google面经(持续更新)

    66. Plus One Given a non-negative integer represented as ...

  • leetcode:66. Plus One

    66. Plus One Description Given a non-empty array of digit...

  • LeetCode:66. 加一

    问题链接 66. 加一[https://leetcode-cn.com/problems/plus-one] 问题...

  • [Math/Array]66. Plus One

    分类:Math/Array 时间复杂度: O(n) 66. Plus One Given a non-empty ...

  • Leetcode-66 加一

    66. 加一[https://leetcode-cn.com/problems/plus-one/] 解题思路 1...

  • 66. 加一

    题目地址(66. 加一) https://leetcode.cn/problems/plus-one/[https...

  • 66. Plus One

    Problem Given a non-empty array of digits representing a ...

网友评论

    本文标题:66. Plus One-Leetcode

    本文链接:https://www.haomeiwen.com/subject/bapsaxtx.html