258. Add Digits
Given a non-negative integer num
, repeatedly add all its digits until the result has only one digit.
Example:
Input:38
Output: 2 Explanation: The process is like:3 + 8 = 11
,1 + 1 = 2
. Since2
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 >= 10){ num = num/10 + num%10; } return num; } }
这题是工作人员上厕所时想出来的吗?
class Solution { public int addDigits(int num) { return num <= 9 ? num : (num % 9 == 0 ? 9 : num % 9); } }
而且是拉稀状态