95 快慢指针解决环形链表
2024-01-03 15:11:24
问题描述:给定一个链表,判断表中是否有环,为了表示给定链表中的环,我们使用整数pos来表示链表尾链接到链表中的位置,如果pos是-1表示没有环。
快慢指针求解:定义一个慢指针和一个快指针,若两者相遇则一定有环,若快指针为null,则没有环。
public Boolean hasCircle(ListNode head)
{
ListNode low=head;
ListNode fast=head;
while(fast==null)
{
low=low.next;
fast=fast.next.next;
if(low==fast){return true;}
}
???????return false;
}
set求解:遍历过程中一直将ListNode放入集合中,若出现重复则返回true,若遍历到null则返回false。
public Boolean hasCircle(ListNode head)
{
Set<ListNode>set=new HashSet<>();
ListNode first=head;
while(first!=null)
{
if(set.contains(first)){return true;}
else{
set.add(first);
}
first=first.next;
}
???????return false;
}
文章来源:https://blog.csdn.net/qq_52299902/article/details/135361319
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!