博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
66 Plus One(大数+1Easy)
阅读量:4957 次
发布时间:2019-06-12

本文共 891 字,大约阅读时间需要 2 分钟。

题目意思: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
plusOne(vector
& digits) { 4 vector
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:这段时间要看的东西实在太多,机器学习,推荐算法,还有这个算法,实在是有点头疼。希望坚持下去是有效果的。

转载于:https://www.cnblogs.com/smallby/p/4594767.html

你可能感兴趣的文章