作者:小迅
链接:https://leetcode.cn/problems/sum-of-digits-of-string-after-convert/solutions/2020974/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-8ej0/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
题目
示例
思路
题意 -> 将字符串转换为数字并进行 k 次数字合并
直接按照题目意思进行模拟,先对字符串进行处理,将其先转换为数字,在对数字进行 k 次的合并操作,最后返回数字即可
在进行字符串处理时,应该使用 sprintf 和 sscanf 函数来简化操作
代码
int getLucky(char * s, int k) {
int n = strlen(s);
char digits[n * 2 + 1];
int pos = 0;
for (int i = 0; i < n; i++) {//字符转数字
pos += sprintf(digits + pos, "%d", s[i] - 'a' + 1);
}
int len = pos;
for (int i = 1; i <= k && len > 1; ++i) {//枚举所有字符数字
int sum = 0;
for (int j = 0; j < len; j++) {//合并操作
sum += digits[j] - '0';
}
len = sprintf(digits, "%d", sum);//写回字符串
}
return atoi(digits);
}
作者:小迅
链接:https://leetcode.cn/problems/sum-of-digits-of-string-after-convert/solutions/2020974/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-8ej0/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。