您的位置:首页 > 其它

66 Plus One(大数+1Easy)

2015-06-23 10:01 288 查看
题目意思:vector<int> v存数 eg.123 则v[0]=1,v[1]=2,v[2]=3,加1后返回一个vector

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

class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
vector<int> ans(digits.size());
bool flag=true;
int add=1;
for(int i=digits.size()-1;i>=0;--i){
if(digits[i]!=9){
flag=false;
break;
}
}
if(flag){
ans[0]=1;
ans.push_back(0);
}
else{
for(int j=digits.size()-1;j>=0;--j){
ans[j]=(digits[j]+add)%10;
add=(digits[j]+add)/10;
}
}
return ans;
}
};


ps:这段时间要看的东西实在太多,机器学习,推荐算法,还有这个算法,实在是有点头疼。希望坚持下去是有效果的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: