LeetCode算法题之Plus One

来源:互联网 发布:淘宝网旺旺在哪里 编辑:程序博客网 时间:2024/04/28 20:58

问题描述:
一个整数按位存储于一个vector中,排列顺序为:最高位在array[0] ,最低位在[n-1]。
解题思路:
从数组的最后一位开始加1,诸如999的数字加1后需要考虑进位。

class Solution {public:   vector<int> plusOne(vector<int>& digits)   {       vector<int> result;       if(digits.size()==0)           return result;       int carry=1;       for(int j=digits.size()-1; j>=0; j--)       {           int v=carry;           result.push_back((v+digits[j])%10);           carry = (v+digits[j])/10;           if(j==0 && carry == 1)               result.push_back(1);       }       for(size_t i=0; i<result.size()/2; i++)       {           int t = result[i];           result[i] = result[result.size()-i-1];           result[result.size()-i-1] = t;       }       return result;   }};
0 0