leetCode第258题 各位相加
链接:https://leetcode-cn.com/problems/add-digits
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
示例 1:
输入: num = 38
输出: 2
解释: 各位相加的过程为:
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是一位数,所以返回 2。
示例 2:
输入: num = 0
输出: 0
提示:
0 <= num <= 231 - 1
本题难度为简单,没什么好说的。
可以不断地将数字拿出来,然后相加,直到它是一个个位数。
但python提供了列表地骚操作,没有必要不断地求余,只要将数字拆解到列表,然后调用sum即可。
## python3
class Solution:
def addDigits(self, num: int) -> int:
while num >= 10:
num = str(num)
num = [int(i) for i in num]
num = sum(num)
return num