环形链表。
給定一個鏈表,判斷鏈表中是否有環。
如果鏈表中存在環,則返回 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
- 下一篇: 回文链表。