题解 | #链表中环的入口结点#标记法,T(n)=O(n)
链表中环的入口结点
http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
思路
标记法。走过的节点给一个标记,若当前节点有该标记,则返回该节点。
代码:(注意:没有通过,仅供参考思想)
ListNode* EntryNodeOfLoop(ListNode* pHead) { while(pHead){ if(pHead->val != INT_MAX){ pHead->val = INT_MAX;// 标记,说明遍历过了 } else{ return pHead; } pHead = pHead->next; } return NULL; }
分析:
T(n)=O(n),遍历+查找共两遍;S(n)=O(1)