美文网首页
LeetCode_258_AddDigits

LeetCode_258_AddDigits

作者: 水月心刀 | 来源:发表于2016-11-03 20:12 被阅读24次

    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 = 11, 1 + 1 = 2. Since 2 has only one digit, return it.
    Follow up:
    Could you do it without any loop/recursion in O(1) runtime?

    题目分析

    对于给定的数字num,对其各位数字进行累加,直到只有一个数字,输出该数字。

    解:

    0   1   2   3   4   5   6   7   8   9   //sum
    
    0   1   2   3   4   5   6   7   8   9   //num
    
        10  11  12  13  14  15  16  17  18  //num
    
        19  20  21  22  23  24  25  26  27  //num
    

    Solution:

    int addDigits(int num)
    {
        if (num == 0)
            return 0;
        return num % 9 ? num % 9 : 9;
    }
    

    相关文章

      网友评论

          本文标题:LeetCode_258_AddDigits

          本文链接:https://www.haomeiwen.com/subject/rnliuttx.html