数据结构随笔 链表

  1. 常用链表结构
    在这里插入图片描述
  2. 单链表和双链表

在这里插入图片描述

  1. 如何判断是否有链表环,以及如何找到链表环的入口

在这里插入图片描述

同时使用快指针和慢指针从链表头进入,且快指针的速度为慢指针速度的两倍

判断是否有链表环:如果快指针和慢指针未相遇且快指针的 next 为 null,则说明链表无环;如果在P点相遇,则有链表环

如何找到链表环的入口:如图所示可以列出方程

快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。

// 两个指针相遇的时候,慢指针走了L+X步,快指针走了L+X+H*n步,因为步长两倍的关系,可以获得
2(L+X) = (L+X+H*n)
L = n*(H-x)+(n-1)x
发布了68 篇原创文章 · 获赞 0 · 访问量 1726

猜你喜欢

转载自blog.csdn.net/qj4865/article/details/104756324