Java/202. Happy Number 快乐数
题目
代码部分一(3ms 92.36%)
class Solution {
public boolean isHappy(int n) {
Set<Integer> set = new HashSet<>();
while(n != 1 && !set.contains(n)){
set.add(n);
int sum = 0;
while(n > 0){
sum += (n % 10) * (n % 10);
n /= 10;
}
n = sum;
}
return n == 1;
}
}
代码部分二(3ms 92.36%)
class Solution {
public boolean isHappy(int n) {
while (n != 1 && n != 4) {
int t = 0;
while (n!=0) {
t += (n % 10) * (n % 10);
n /= 10;
}
n = t;
}
return n == 1;
}
}
代码部分三(0ms 100%)
class Solution {
public boolean isHappy(int n) {
if(n < 10) {
return n == 1 || n == 7;
}
int sum = n;
int b = 0;
while(sum > 0) {
b += (sum % 10) * (sum % 10);
sum = sum / 10;
}
return isHappy(b);
}
}