「 每日一练,快乐水题 」258. 各位相加

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」258. 各位相加相关的知识,希望对你有一定的参考价值。

🔴力扣原题:

力扣链接: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. 字符串转化后的各位数字之和

「 每日一练,快乐水题 」1945. 字符串转化后的各位数字之和

「 每日一练,快乐水题 」728. 自除数

「 每日一练,快乐水题 」728. 自除数

「 每日一练,快乐水题 」1089. 复写零

「 每日一练,快乐水题 」383. 赎金信