258. 各位相加

题目

  • 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。

示例 1:

输入: num = 38
输出: 2
解释: 各位相加的过程为:
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是一位数,所以返回 2。

示例 2:

输入: num = 0
输出: 0

法一、模拟

class Solution:
    def addDigits(self, num: int) -> int:
        while num >= 10:
            digit = list(map(int, str(num)))
            num = 0
            for i in range(len(digit)):
                num += digit[i]
        return num

法二、规律

class Solution:
    def addDigits(self, num: int) -> int:
        if num==0:
            return 0
        if num%9 == 0 :
            return (9)
        else:
            return(num%9)
posted @   Frommoon  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示