Add Digits
来源:互联网 发布:电脑游戏录像软件 编辑:程序博客网 时间:2024/05/21 08:52
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.
For example:
Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
思路:可以按题意进行求解,代码如下:
class Solution {public: int addDigits(int num) { while(num > 9){ int tmp = 0; while(num){ tmp += num % 10; num = num / 10; } num = tmp; } return num; }};
也可观察输出值,找规律,可以得出restult = (num - 1) % 9 + 1;
代码如下:
class Solution {public: int addDigits(int num) { return (num - 1) % 9 + 1; }};
0 0
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- 逗号,运算符
- Craftyjs系列4-工具库之Delay
- 在excel中自动生成序号
- 平时留意到的一些项目
- java线程学习(七)—java线程转储与堆栈
- Add Digits
- lintcode排序矩阵中的从小到大第k个数-401(Java版)
- jQuery 属性操作 - toggleClass() 方法
- PHP MySQL读写数据库乱码
- Const用法总结(快速区分指针常量与常量指针)
- 判断两个字符串是否互为变形词
- [每日一答] [20151008] 使用ZIP包安装MySQL数据库
- Linux下备份项目,保持结构,选择性复制部分文件
- android常用工具类