leetcode: Add Digits

来源:互联网 发布:数据库培训哪家好 编辑:程序博客网 时间:2024/05/02 05:05

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.

For example:

Given num = 38, the process is like: 3 + 8 = 111 + 1 = 2. Since 2 has only one digit, return it.

Follow up:
Could you do it without any loop/recursion in O(1) runtime?

题目描述:给出一个数组,不断地分割数字,直到这个数字是一个数字为止。题目很简单,直接上代码。

代码实现:

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


1 0