407. 加一

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。

该数字按照大小进行排列,最大的数在列表的最前面。

样例

给定 [1,2,3] 表示 123, 返回 [1,2,4].

给定 [9,9,9] 表示 999, 返回 [1,0,0,0].

无脑做法是遍历vector算出sum,加1再转回去

也可以模拟这个加法过程,一位一位操作

从个位开始,算出一位就插一位

 1 vector<int> plusOne(vector<int> &digits) {
 2         // write your code here
 3         vector<int> res;  
 4         int tem = 1, n = digits.size();  
 5         for (int i = n - 1; i >= 0; --i) {  
 6             int sum = digits[i] + tem;  
 7             res.insert(res.begin(), sum % 10);  
 8             tem = sum / 10;  
 9         }  
10         if (tem == 1) res.insert(res.begin(), 1);  
11         return res;  
12     }
原文地址:https://www.cnblogs.com/TheLaughingMan/p/8202388.html