首页 > 其他 > 详细

66 Plus One(大数+1Easy)

时间:2015-06-23 11:30:37      阅读:171      评论:0      收藏:0      [点我收藏+]

题目意思:vector<int> v存数   eg.123  则v[0]=1,v[1]=2,v[2]=3,加1后返回一个vector

思路:先判断新的vector长度是否需要加1,然后从vector最后一位开始往前进位

 1 class Solution {
 2 public:
 3     vector<int> plusOne(vector<int>& digits) {
 4         vector<int> ans(digits.size());
 5         bool flag=true;
 6         int add=1;
 7         for(int i=digits.size()-1;i>=0;--i){
 8             if(digits[i]!=9){
 9                 flag=false;
10                 break;
11             }
12         }
13         if(flag){
14             ans[0]=1;
15             ans.push_back(0);
16         }
17         else{
18             for(int j=digits.size()-1;j>=0;--j){
19                 ans[j]=(digits[j]+add)%10;
20                 add=(digits[j]+add)/10;
21             }
22         }
23         return ans;
24     }
25 };

ps:这段时间要看的东西实在太多,机器学习,推荐算法,还有这个算法,实在是有点头疼。希望坚持下去是有效果的。

66 Plus One(大数+1Easy)

原文:http://www.cnblogs.com/smallby/p/4594767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!