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

示例:

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

进阶:
你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?

将非负整数视为字符串,做法就比较简单了,循环解决了问题。

进阶的做法完全属于数学范畴,不符合练习本题的意义,请百度相关题解。

代码如下:

 class Solution {
public int addDigits(int num) {
int fin=num;
while(fin>9)
{
char[] tmp=Integer.toString(fin).toCharArray();
int save=0;
for (char c : tmp) {
save+=(int)(c-'0');
}
fin=save;
}
return fin;
}
}

最新文章

  1. 【Web动画】SVG 线条动画入门
  2. 安装WAMP 及 修改MYSQL用户名 、 密码
  3. 关于缺少nvToolsExt64_1.lib时的PhysX的处理
  4. Flex air修改外部xml文件 (转)
  5. 数据结构与算法(1)支线任务2——Basic Calculator
  6. NumPy 上手一个例子 vectorsum.py
  7. bash的操作环境[转]
  8. Testing - Selenium
  9. C#定制并发送HTML邮件
  10. python 代码片段11
  11. 产生n bit所有可能的序列
  12. 深度学习之seq2seq模型以及Attention机制
  13. MognoDB3.4.2用户访问配置管理
  14. php的运行原理、cgi对比fastcgi以及php-cgi和php-fpm之间的联系区别
  15. 【LOJ】#2187. 「SHOI2014」三叉神经树
  16. Linux内核分析——第二章 从内核出发
  17. Biorhythms(中国剩余定理)
  18. Ubuntu 14.04 安装 SteamOS 会话
  19. htpasswd命令的使用
  20. sigar在Centos和Windows下使用java系统软硬件配置信息

热门文章

  1. 常用函数-Linux文件操作
  2. C#方法的定义、调用与调试
  3. .NETCore下CI/CD之自动化测试
  4. electron打包分发
  5. 一文理解java对象初始化顺序
  6. OptimalSolution(6)--栈和队列
  7. ARToolKit-unity
  8. Java 读取properties 配置文件的几种方式
  9. 百度语音合成---前端vue项目
  10. 前端技术之:常用webpack插件