首页 > 技术文章 > leetcode刷题笔记258 各位相加

qflyue 2018-04-30 21:48 原文

题目描述:

给一个非负整数 num,反复添加所有的数字,直到结果只有一个数字。

例如:

设定 num = 38,过程就像: 3 + 8 = 111 + 1 = 2。 由于 2 只有1个数字,所以返回它。

进阶:
你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个问题么?

 

代码解答:

C++:

class Solution {
public:
    int addDigits(int num) {
        if(num==0)return 0;
        return ((num-1)%9)+1;
    }
};
Code

 

推荐阅读