Plus One

来源:互联网 发布:比较好的网红的淘宝店 编辑:程序博客网 时间:2024/05/20 08:28

一、问题描述

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

The digits are stored such that the most significant digit is at the head of the list.

二、思路

题意即为给定数字加1,如果尾数为‘9’,则进1,但有一个小陷阱:我在

                    if(i == 0){                        digits[0] = 0;                        digits.insert(digits.begin(),1);                        return digits;

这一步中开始没有想到return,结果调试了很久都没有AC,最后发现这个也是一个退出条件。

三、代码

class Solution {public:    vector<int> plusOne(vector<int>& digits) {        int i = digits.size() - 1;        if(digits[i] == 9){            while(digits[i] == 9){                    if(i == 0){                        digits[0] = 0;                        digits.insert(digits.begin(),1);                        return digits;                    }                    else{                        digits[i--] = 0;                    }            }            digits[i] = digits[i] + 1;        }        else            digits[i] = digits[i] + 1;        return digits;    }};


0 0
原创粉丝点击