本文主要是介绍单链表——环形链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
想要判断该链表是否为环形链表,就需要应用两个指针,如果两个指针所指向的节点相同,那么该链表就是环形链表。反之,若一个指针指向为NULL则证明该链表不是环形链表。所以这道题目的基本思想还是快慢指针,我们应用快慢指针以及追及问题的思想来实现这道题。
typedef struct ListNode ListNode;
bool hasCycle(struct ListNode *head)
{ListNode*slow=head;ListNode*fast=head;while(fast&&fast->next){slow=slow->next;fast=fast->next->next;if(slow==fast){return true;}}return false;
}
大家感兴趣的可以自行尝试一下哦~
. - 力扣(LeetCode)
这篇关于单链表——环形链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!