美文网首页
leetCode之快慢指针遍历

leetCode之快慢指针遍历

作者: Benzic | 来源:发表于2020-09-27 17:34 被阅读0次

首页目录 点击查看

第一题

解题思路

  • 这道题,我本来想着的是直接用递归的方法,但是题意是使用快慢指针,可是我并不太了解什么是快慢指针,所以,快慢指针是根据大佬们的题解写出来的。

我的答案

  • 递归
        var isHappy = function (n) {
            let map = {}
            let flag = false

            function getSum(n) {
                let sum = 0
                while (n !== 0) {
                    const bit = n % 10
                    sum += bit * bit
                    n = parseInt(n / 10)
                }
                if (sum === 1) {
                    flag = true
                    return true
                }
                if (map[sum]) {
                    flag = false
                    return false
                } else {
                    map[sum] = sum
                    getSum(sum)
                }
            }
            getSum(n)
            return flag
        };
  • 快慢指针
        var isHappy = function (n) {
            let slow = n,
                fast = n;

            function getSum(n) {
                console.log(n)
                let sum = 0
                while (n !== 0) {
                    const bit = n % 10
                    sum += bit * bit
                    n = parseInt(n / 10)
                }
                return sum
            }
            do {
                slow = getSum(slow);
                fast = getSum(getSum(fast))
            } while (slow !== fast);
            return slow === 1
        };
image.png

在我的电脑上两者的区别并不大

相关文章

  • leetCode之快慢指针遍历

    首页目录 点击查看[https://www.jianshu.com/p/c390b7d89e35] 第一题 难度:...

  • 快慢指针的应用

    快慢指针的快慢主要是指在遍历链表过程中指针移动速度的快慢。比如遍历单链表,我们可以让指针每次移动一个节点,也可以让...

  • leetcode 中快慢指针的应用

    快慢指针的在leetcode的问题中有很多应用,例如通过一次遍历找到链表的中间节点。 这里要介绍的是作为哨兵,应用...

  • 快慢指针 02

    快慢指针 02 https://leetcode-cn.com/problems/linked-list-cycl...

  • 快慢指针 01

    快慢指针 01 https://leetcode-cn.com/problems/linked-list-cycl...

  • 快慢指针 03

    快慢指针 03 https://leetcode-cn.com/problems/remove-nth-node-...

  • 排序-贪心排序

    情况1:对于数组 快慢指针思想慢指针遍历每一个位置,快指针也遍历每一个位置慢指针每遍历一个位置就停下来给快指针时间...

  • LeetCode 26 快慢指针

    题目描述如下 给定一个排序数组,你需要在删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要...

  • Leetcode-876:链表的中间节点

    题目描述: 思路: ①:遍历一遍,得到链表总长,然后再遍历到一半的位置。 ②:快慢指针法:快指针一次走两步,慢指针...

  • 【Leetcode】19. 删除链表的倒数第N个节点

    要点:使用哑节点对应需要删除链表第一个节点情况优化:单次遍历:使用快慢指针。快慢指针的使用又打开了新世界大门! 第...

网友评论

      本文标题:leetCode之快慢指针遍历

      本文链接:https://www.haomeiwen.com/subject/gweluktx.html