Plus One

来源:互联网 发布:it治理与it管理的区别 编辑:程序博客网 时间:2024/06/01 18:45
  • 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.


水题一道,看题目可能不是很明白,可以调试一下看看输出,当vector的首元素也即是number的最高位需要进位时,这时候vector就需要resize以下了。注意到这个情况下面就是敲代码了:).C++代码如下:

class Solution {public:    vector<int> plusOne(vector<int> &digits) {    bool addHead = false;    int i = (digits.size() - 1);    digits[i] += 1;    while( digits[i]>= 10)    {        if(i>0)        {            digits[i] = 0;            digits[i-1] += 1;        }        else        {            digits[i] = 0;            addHead = true;        }        i--;    }    if(addHead)    {        digits.resize(digits.size() + 1);        for(int i =digits.size(); i >0 ; i--)        {            digits[i] = digits[i-1];        }        digits[0] = 1;    }    return digits;    }};
0 0
原创粉丝点击