mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
补充 0202 快乐数 JavaScript版本使用Set() 的解法
This commit is contained in:
@ -191,6 +191,30 @@ var isHappy = function(n) {
|
||||
}
|
||||
return b === 1 || getN(b) === 1 ;
|
||||
};
|
||||
|
||||
// 方法三:使用Set()更简洁
|
||||
/**
|
||||
* @param {number} n
|
||||
* @return {boolean}
|
||||
*/
|
||||
|
||||
var getSum = function (n) {
|
||||
let sum = 0;
|
||||
while (n) {
|
||||
sum += (n % 10) ** 2;
|
||||
n = Math.floor(n/10);
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
var isHappy = function(n) {
|
||||
let set = new Set(); // Set() 里的数是惟一的
|
||||
// 如果在循环中某个值重复出现,说明此时陷入死循环,也就说明这个值不是快乐数
|
||||
while (n !== 1 && !set.has(n)) {
|
||||
set.add(n);
|
||||
n = getSum(n);
|
||||
}
|
||||
return n === 1;
|
||||
};
|
||||
```
|
||||
|
||||
Swift:
|
||||
|
Reference in New Issue
Block a user