【Leetcode算法】-Add Digits

来源:互联网 发布:北斗卫星定位精度知乎 编辑:程序博客网 时间:2024/06/05 15:36

题目:
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?
链接:https://leetcode.com/problems/add-digits/

解法1:

%% C++class Solution {public:    int add_digits(int num, int sum)    {       int remain;       remain = num % 10;       num = num / 10;       if (num == 0)          if (sum + remain >= 10)             return add_digits(sum + remain, 0);          else             return sum + remain;       else          return add_digits(num, sum + remain);    }    int addDigits(int num) {        return add_digits(num, 0);    }};
0 0
原创粉丝点击