1、快乐树
//编写一个算法来判断一个数 n 是不是快乐数。 // // 「快乐数」定义为: // // // 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 // 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 // 如果 可以变为 1,那么这个数就是快乐数。 // // // 如果 n 是快乐数就返回 true ;不是,则返回 false 。 // // // // 示例 1: // // //输入:19 //输出:true //解释: //12 + 92 = 82 //82 + 22 = 68 //62 + 82 = 100 //12 + 02 + 02 = 1 // // // 示例 2: // // //输入:n = 2 //输出:false // // // // // 提示: // // // 1 <= n <= 231 - 1 // // Related Topics 哈希表 数学
方法一: 快慢指针
判断一个链表是否有环,如果有,那么快指针和慢指针总会在某一个节点处相遇,如果没有,那么快指针肯定比慢指针先到数字1。可以参见题解:
https://leetcode-cn.com/problems/happy-number/solution/kuai-le-shu-by-leetcode-so