自我扩展—如何判断一个指定的节点是否是在带环链表的环内还是环外!

按照常规来思考—— 一步一步走能不能遇到自己,遇到自己在环内;遇不到在环外。可是如果在环外的按照前面的思想,难免就进入了死循环 。


所以我们不妨换一个思路 :我们就从这个节点开始指定2个指针 :一个走2步 一个 走 一步;2步的每走一次都判断一次 它自己以及它的下一个节点是否和指定节点相同 如果和第一步指针相遇之前就和指定节点相同了必然是在环内 ; 如果是在环外通过和一步指针相遇来结束循环。

问题扩展:1 、如何求一个带环链表的节点个数 ;

2、如何求解带环链表中指定节点开始向前访问的不同的节点个数;

1题:简单很好解 在这不提。

2题 :利用上面知识先判断是在环内还是环外之后很好的解出来!

环外 :同1题解

环内 :同循环单链表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值