「 每日一练,快乐水题 」258. 各位相加
Posted 谁吃薄荷糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」258. 各位相加相关的知识,希望对你有一定的参考价值。
🔴力扣原题:
🟠题目简述:
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
🟡解题思路:
1.把int数赋值给string,利用string来切割各位;
2.把各位相加,直至num为个位数;
3.over;
🟢C++代码(遍历):
class Solution
public:
int addDigits(int num)
while(true)
string str = to_string(num);
int n = str.length();
//cout << "str : " << str << " strlen:" << n << endl;
if(n == 1)
//cout << "return :" << num << endl;
return num;
else
num = 0;
for(int i = 0; i < n; i++)
// cout << num << " " << str[i] - '0' << endl;
num += str[i] - '0';
return num;
;
🔵结果展示:
🟢C++代码(递归):
class Solution
public:
int addDigits(int num)
string str = to_string(num);
int n = str.length();
//cout << "str : " << str << " strlen:" << n << endl;
if(n == 1)
//cout << "return :" << num << endl;
return num;
else
num = 0;
for(int i = 0; i < n; i++)
//cout << num << " " << str[i] - '0' << endl;
num += str[i] - '0';
return addDigits(num);
return num;
;
🔵结果展示:
以上是关于「 每日一练,快乐水题 」258. 各位相加的主要内容,如果未能解决你的问题,请参考以下文章
「 每日一练,快乐水题 」1945. 字符串转化后的各位数字之和