Plus One

来源:互联网 发布:思迅进销存软件视频 编辑:程序博客网 时间:2024/05/18 00:50
比较简单的是弄个进位,每一个都是加进位,然后遍历:
class Solution {public:    vector<int> plusOne(vector<int>& digits) {        int in=1;        int n=digits.size();        for(int i=n-1;i>=0;i--)        {            int temp=digits[i]+in;            digits[i]=temp%10;            in=temp/10;        }        if(in!=0)        {            digits.insert(digits.begin(),in);        }        return digits;    }};


另一种,其实就是如果没有进位了就停,这个时候就加完了:
class Solution {public:    vector<int> plusOne(vector<int>& digits) {      int n=digits.size();      for(int i=n-1;i>=0;i--)      {          if(digits[i]!=9)          {              digits[i]++;              return digits;          }          else          {              digits[i]=0;          }      }      digits[0]=1;      digits.push_back(0);      return digits;    }};


0 0