leetcode-66. 加一
题目:
代码:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> plusOne(vector<int>& digits) {
if(digits.size()==0){
return digits;
}
int len=digits.size();
digits[len-1]+=1;
for(int i=len-1;i>=1;i--){
if(digits[i]>9){
digits[i-1]++;
digits[i]-=10;
}else{
break;
}
}
if(digits[0]>9){
digits[0]-=10;
digits.insert(digits.begin(),1);
}
return digits;
}
int main(){
vector<int> res;
vector<int> digits;
int n,tn=0;
cin>>n;
if(n==0){
digits.push_back(0);
}
while(n>0){
tn=n%10;
n=n/10;
digits.push_back(tn);
}
reverse(digits.begin(),digits.end());
res=plusOne(digits);
for(int i=0;i<res.size();i++){
cout<<res[i]<<" ";
}
return 0;
}