LintCode-入门 569. 各位相加

给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。

样例

例1:

输入:
num=38
输出:
2
解释:
过程如下: 3 + 8 = 11, 1 + 1 = 2. 因为 2 只有一个数字,返回 2.

例2:

输入:
num=9
输出:
9
解释:
9<10,返回 9.
public class Solution {
    /**
     * @param num: a non-negative integer
     * @return: one digit
     */
    public int addDigits(int num) {
        // write your code here
        while (num >= 10) {
            int sum = 0;
            while (num > 0) {
                sum += num % 10;
                num /= 10;
            }
            num = sum;
        }
        return num;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44977914/article/details/89607325