lc-go/solutions/2/q202/solution.go
2025-12-29 16:41:19 +09:00

29 lines
348 B
Go

package q202
type void struct{}
func next(n int) int {
ret := 0
for n > 0 {
digit := n % 10
n /= 10
ret += digit * digit
}
return ret
}
func isHappy(n int) bool {
seen := map[int]void{n: {}}
for {
n = next(n)
if n == 1 {
return true
}
if _, ok := seen[n]; ok {
return false
}
seen[n] = void{}
}
}
var _ = isHappy