美文网首页
快慢指针

快慢指针

作者: QianmianH | 来源:发表于2020-07-02 13:49 被阅读0次

找出单向链表中倒数第 k 个节点。返回该节点的值
普通解法时间复杂度2N

def kthToLast(self, head: ListNode, k: int) -> int:
        node = head
        length = 1
        while node.next:
            node = node.next
            length+=1
        node = head
        for _ in range(length-k):
            node = node.next
        return node.val

用快慢指针只用循环一遍N就行了

def kthToLast(self, head: ListNode, k: int) -> int:
        a=head
        b=head
        for i in range(k):
            b=b.next
        while b:
            a=a.next
            b=b.next
        return a.val

相关文章

  • 快慢指针的应用

    快慢指针 快慢指针中的快慢指的是移动的步长,快慢分别指的是快指针每次移动两步,满指针每次移动一步 快慢指针的应用 ...

  • 快慢指针总结

    快慢指针 所谓「快慢指针」是指设定两个指针,其中快的指针的移动速度是慢的指针的移动速度的两倍;“快慢指针”方法主要...

  • leetcode第142题:环形链表II [中等]

    题目描述 考点 链表 双指针(快慢指针) 解题思路 设置快慢指针slow, fast; 慢指针slow每次移动一个...

  • 快慢指针

    快慢指针即我们有两个及以上的指针,我们可以通过控制其步长去实现某种行为。 下图中自定义的名词解释如下: 目标节点:...

  • 快慢指针

    找出单向链表中倒数第 k 个节点。返回该节点的值普通解法时间复杂度2N 用快慢指针只用循环一遍N就行了

  • 快慢指针

  • 链表算法之-链表找环

    思想:快慢指针

  • [go语言算法] 输出链表的倒数第k个节点

    快慢指针法

  • 快慢指针的应用

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

  • 算法学习--双指针

    双指针分类 快慢指针 左右指针 快慢指针:主要解决链表相关问题,比如:典型的判断链表中是否包含环、链表倒是第K个节...

网友评论

      本文标题:快慢指针

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