题目:
Given an integer num
, repeatedly add all its digits until the result has only one digit, and return it.
Example 1:
Input: num = 38
Output: 2
Explanation: The process is
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
Since 2 has only one digit, return it.
Example 2:
Input: num = 0
Output: 0
Constraints:
0 <= num <= 231 - 1
Follow up: Could you do it without any loop/recursion in O(1)
runtime?
代码:
class Solution {
public:
int add(int num) {
int sum = 0;
while(num)
{
sum += ( num % 10);
num /= 10;
}
return sum;
}
int addDigits(int num) {
if(num < 10)
return num;
while(num >= 10)
{
num = add(num);
}
return num;
}
};
今天三道都是简单题~ 都是一次AC,虽然效率都有待提高~
转眼又过去了一个月,回头看去几个月立的flag都没立住,希望接下来的一个月可以加油!
哈哈哈 毕竟被push要学一门新的学科~ 加油吧!
说来真的很神奇,昨天我还和朋友说起,想来十年前我选择计算机这个专业的时候就是冲着这个学科报的,哪知道慢慢过去了十年,才真的到了可以学习这门学科的情形,而且还是工作要求,可以有压力有动力的去学。细想真的很神奇,又觉得幸运,当年我对计算机一无所知,凭借想象报了这门学科。从一开始进入大一发现要学的和实际想象的差距那么大,那一年的落差和吃力。然后到后来慢慢找到学习的规律。再到开始根据浪潮去调整方向。居然走着走着,还真的到了当初我选择这个行业的方向。真是那句:If you keep on believing, your dreams that you wish will come true.
感恩一切,希望自己可以摒除杂念,好好学习。无论是周围环境说这个方向多么难,这个方向就业前景多么不好,但这不正是一路引领我来到的地方吗。
先开始吧,一切的恐惧来源于未知。
加油呀!
各位,春天快乐!