题意:

  将一个整数num变成它的所有十进制位的和,重复操作,直到num的位数为1,返回num。

思路:

  注意到答案的范围是在区间[0,9]的自然数,而仅当num=0才可能答案为0。

  规律在于随着所给自然数num的递增,结果也是在1~9内循环递增的,那么结果为(num-1)%9+1。

  

C++:

 class Solution {
public:
int addDigits(int num) {
if(!num) return ;
else return (num-)%+;
}
};

AC代码

python:

 class Solution(object):
def addDigits(self, num):
"""
:type num: int
:rtype: int
"""
return 0 if not num else (num-1)%9+1

AC代码

05-11 20:14
查看更多