
双指针算法
因此只需要将每个数字看作⼀个节点, 数字变换的过程看作从⼀个节点移动到另⼀个节点的过程。定义快慢指针,慢指针每次移动一步,快指针每次移动两步。判断快慢指针相遇时所指向的数是否为 1,如果是 1,则是快乐数,否则,不是。此时,将最后一个元素置为 0,cur 向前移动一个位置,dest 向前移动两个位置。如果不是 0,则 dest 先向后移动一位,再交换 cur 和 dest 指向的元素;两边的指针向中间移动,则(right - left)一定是单调递减的。【就地操作】【双指针算法】【单调性 + 双指针】



















