1945. 字符串转化后的各位数字之和
思路:模拟过程,注意第一次将字符串转化为数字,不要用int存这个数,因为太大了。最多可能有200位。
class Solution {
public:
int getLucky(string s, int k) {
vector<int> v;
for(auto t:s){
int num=t-'a'+1;
while(num){
v.push_back(num%10);
num/=10;
}
}
while(k){
if(v.size()==1) break;
k--;
int num=accumulate(v.begin(),v.end(),0);
v.clear();
while(1){
v.push_back(num%10);
num/=10;
if(num==0) break;
}
reverse(v.begin(),v.end());
}
int num=0;
for(auto t:v){
num=num*10+t;
}
return num;
}
};