WildPointer

Welcome to my world!


  • Arc

  • Cat

  • Tag

  • Proj

  • Tech

  • Donate

  • Me

  • Search

LeetCode 258: Add Digits


Difficulty: Easy

Tags: Math


问题描述

给定一个非负整数num,不断将其各位数字求和直到结果只有一位数字。


解决方案

两重循环,在外重循环判断num是否只有一位数字,在内重循环做num的各位数字求和。


▷ Time Complexity: O(lgn)

▷ Space Complexity: O(1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public:
int addDigits(int num) {
while(1)
{
if(num/10 == 0) return num;

int t = 0;

while(1)
{
t += num%10;
num /= 10;

if(num/10 == 0)
{
t += num;
num = t;
break;
}
}
}
}
};

回到 Conquer Leetcode

Shengjia Yan

Shengjia Yan

职业码农 业余作家

29 posts
11 categories
42 tags
GitHub Linkedin Zhihu Weibo Twitter Instagram Bilibili YouTube Twitch
Creative Commons
Links
  • LeetCode
  • 小土刀
  • 52nlp
© 2016 - 2021 Shengjia Yan
追随我心