Loading

摘要: class Solution { public: bool hasCycle(ListNode *head) { if (head == NULL) return NULL; //空表 ListNode *slow = head; ListNode *fast = head; while (fast&&fast... 阅读全文
posted @ 2018-11-01 20:03 青山新雨 阅读(274) 评论(0) 推荐(0)
摘要: 题意:略. 这个题最关键的点在于后面,如何找到循环开始的节点。 第一阶段,先用快慢指针找到相遇的节点C。(至于为什么,了解一下欧几里德拓展解决二元不定方程。)A是表头。B是开始循环的位置。 第一次阶段的公式是: 2(x+y)=x+y+n(y+z); 注意一下:n表示快指针比慢指针多跑了n圈! 那么两 阅读全文
posted @ 2018-11-01 19:51 青山新雨 阅读(314) 评论(0) 推荐(0)