数据结构随笔 链表

  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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值