题意:
将一个整数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代码