• leetcode—Plus one


    1.题目描述

    Given a number represented as an array of digits, plus one to the number.

    2.解法分析

    不要被常规思路限制住,常规思路会遍历整个数组,然后设置进位,但是实际上只需要找到第一位不为9的数字即可,免去了加的必要。

    class Solution {
    public:
        vector<int> plusOne(vector<int> &digits) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            if(digits.empty())return digits;
            int len=digits.size();
            
            int i=len-1;
            while(i>=0)
            {
                if(digits[i]==9)digits[i]=0;
                else{
                    digits[i]+=1;break;
                }
                i--;
            }
            
            if(i<0)digits.insert(digits.begin(),1);
            
            return digits;
            
        }
    };
  • 相关阅读:
    C# 小算法1
    函数 y=x^x的分析
    随机数
    对拍
    Cube Stack
    Permutation
    一笔画问题
    康托展开&&康托逆展开
    待完成
    小错误 17/8/10
  • 原文地址:https://www.cnblogs.com/obama/p/3284589.html
Copyright © 2020-2023  润新知