LeetCode 141 Linked List Cycle

LeetCode141题解
本文介绍了一种解决LeetCode141题的方法,通过遍历链表并标记已访问节点来检测链表中是否存在环。此方法简单且不消耗额外空间,但可能受到特定测试数据的影响。

LeetCode 141

 

不花费额外的空间

方法很简单,遍历一遍即可,在遍历过的节点,都改变它的一个状态。如果形成环,会再次指向遍历过的节点,这个时候判断它的状态是否改变。

这个方法是可以被测试数据攻击掉的,不是完美解决方案。

 

```

class Solution {
public:
bool hasCycle(ListNode *head) {
ListNode* start = new ListNode(-1);
ListNode* iter = head;

while(iter!=NULL)
{
if(iter->next==start) return true;
ListNode* temp = iter;
iter = iter->next;
(*temp).next = start;
}
return false;
}
};

 

```

 

转载于:https://www.cnblogs.com/dacc123/p/9988439.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值