LeetCode: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 = 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 {
 2 private:
 3     int result=0;
 4 public:
 5     int addDigits(int num) {
 6         if(num/10==0) return num;
 7         int b=num%10;
 8         int a=num/10;
 9         result=addDigits(a)+b;
10         return addDigits(result);
11         
12     }
13 };

 

posted @ 2015-08-17 11:29  尾巴草  阅读(99)  评论(0编辑  收藏  举报