258Add Digits - LeetCode
来源:互联网 发布:史蒂夫弗朗西斯数据 编辑:程序博客网 时间:2024/05/01 21:31
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?
1、递归
class Solution {public: int addDigits(int num) { if(num>=0&&num<10) return num; int result=0; while(num){ result+=num%10; num/=10; } return addDigits(result); }};2、循环
class Solution {public: int addDigits(int num) { if(num<0) return 0; int result=0; while(num>=10){ result=0; while(num!=0){ result+=num%10; num/=10; } num=result; } return num; }};
3、观察规律,以9为循环
class Solution {public: int addDigits(int num) { return num<=0?0:num%9?num%9:9; }};
0 0
- leetcode 258: Add Digits
- 258Add Digits - LeetCode
- leetCode #258 Add Digits
- [LeetCode 258] Add Digits
- LeetCode(258)Add Digits
- leetcode-258-Add Digits
- [leetcode 258]Add Digits
- [Leetcode]#258 Add Digits
- LeetCode 258----Add Digits
- LeetCode 258 : Add Digits
- 【LeetCode】258 Add Digits
- Leetcode - 258 - Add Digits
- leetcode 258 :Add Digits
- leetcode 258--Add Digits
- leetcode 258 Add Digits
- Leetcode #258 Add Digits
- LeetCode 258:Add Digits
- LeetCode 258:Add Digits
- uva 11235 Frequent values RMQ问题
- NOI 2006 最大权闭合图
- MongoDB查询简单语法
- Java虚拟机内存分配策略
- mhVTL的安装与应用
- 258Add Digits - LeetCode
- SSL握手过程
- C++内存分配一:C++程序内存的基本组成
- 抽象类详解
- 内核层简单的文件操作
- 堆排序
- 用Eclipse建spring mvc项目(图解)
- PAT 1058. A+B in Hogwarts (20)
- struts2 jar包说明