leetcodeブラシ問題、まとめ、記録、メモ258
1034 ワード
leetcode258
Add Digits
Given a non-negative integer
For example:
Given
Follow up: Could you do it without any loop/recursion in O(1) runtime? その実用サイクルは比較的簡単で,これ以上述べない.
その後、他人の書き方や、タイトルのウィキペディアの説明を見て、よくわかりませんでしたが、公式を覚えました.
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? その実用サイクルは比較的簡単で,これ以上述べない.
class Solution {
public:
int addDigits(int num) {
int result;
result = num;
while (true) {
if (result < 10) {
return result;
}
num = result;
result = 0;
while (num) {
result += num % 10;
num /= 10;
}
}
}
};
その後、他人の書き方や、タイトルのウィキペディアの説明を見て、よくわかりませんでしたが、公式を覚えました.
class Solution {
public:
int addDigits(int num) {
return 1 + (num -1 )%9;
}
};