Saturday, September 23, 2017

258. Add Digits

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 = 111 + 1 = 2. Since 2 has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?

Solution:
A good post on zhihu in Chinese: https://www.zhihu.com/question/30972581

   public int addDigits(int num) {  
     if(num==0) return 0;  
     return num%9==0 ? 9: num%9;  
   }  

No comments:

Post a Comment