mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
补充 0202 快乐数 JavaScript版本使用Set() 的解法
This commit is contained in:
@ -191,6 +191,30 @@ var isHappy = function(n) {
|
|||||||
}
|
}
|
||||||
return b === 1 || getN(b) === 1 ;
|
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:
|
Swift:
|
||||||
|
Reference in New Issue
Block a user