[LeetCode]258. Add Digits

来源:互联网 发布:c语言disc是什么意思 编辑:程序博客网 时间:2024/06/02 02:23

[LeetCode]258. Add Digits

题目描述

这里写图片描述

思路

循环相加每一位
每次获取num的个位,加到和中,num = num / 10,循环直至num / 10为0,最后在外层sum += num,
对得到的sum进行判断,若大于等于10,递归处理
否则输出
详见代码

update
没看清题目,不准用递归和循环
实际是一道规律题
对9取模即可

代码

class Solution {public:    int addDigits(int num) {        int sum = 0;        if (sum == 10) {            return 1;        }        while (num / 10) {            sum += num % 10;            num /= 10;        }        sum += num;        if (sum >= 10) {            sum = addDigits(sum);        }        return sum;    }};
0 0