有关单向链表的题目

1、编码的关键是思路,思路不对,不可能编出正确的代码。考虑下面两个关于单向链表的题目:

2、单向链表,如何判断是否构成环形?

  a、思路一:常规做法,建个集合,遍历单向链表,集合没有包含元素,添加进去集合,集合包含元素直接返回true,跳出遍历,返回false。

  b、思路二:使用快慢指针,建立两个节点,n1从head开始,n2从head->next开始,while(n1 && n2),n1每次走一步,n2每次走两步。如果n2先走到null,说明没有环。如果n1==n2,说明有环,n2又从后面追上来。

3、对于单向链表,查找倒数第K个节点。

  a、思路一:先计算节点个数,倒数第K个,就是正数Count-K-1

  b、建立两个节点,n1,n2,n1先移动K个单位,然后n1,n2同时向后移动,n1移动到null,n2就是倒数第K个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值