Every day a leetcode
题目来源:258. 各位相加
解法1:模拟
模拟各位相加的过程。
代码:
int addDigits(int num){
while(num>=10)
{
int sum=0;
while(num>=0)
{
sum+=num%10;
num/=10;
}
num=sum;
}
return num;
}
结果:
解法2:数学
核心思想:
x*100+y*10+z=x*99+y*9+x+y+z
代码:
int addDigits(int num){
if(num == 0) return 0;
if(num%9 == 0) return 9;
return num%9;
}
结果:
示例: