环形链表。
给定一个链表,判断链表中是否有环。
如果链表中存在环,则返回 true 。 否则,返回 false 。
思路:定义快慢指针,快指针一次走两个节点,慢指针一次走一个节点,若链表中有环形链表,则快指针一定会与慢指针相遇。
注意:该题的快慢指针开始并没有在一个起点,是为了满足while的条件。
/** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ bool hasCycle(struct ListNode *head) {if(!head||!head->next)return false;struct ListNode *slow=head;struct ListNode *fast=head->next;while(slow!=fast){if(!fast||!fast->next)return false;slow=slow->next;fast=fast->next->next;}return true; }总结
- 上一篇: 字符串函数实现(strlen,strcp
- 下一篇: 回文链表。