141. Linked List Cycle Given a linked list, determine if it has a cycle in it. Follow-up : Can you solve it without using extra space? 142. Linked List Cycle 2 Given a linked list, return the node where the cycle begins. If there is no cycle, return NULL Note: Do not modify the linked list. Follow-up : Can you solve it without using extra space? These two questions are all related to linked list, question 2 goes further than 1. First, we set two pointers: one is "fast", means it forwards two step each loop, another is "slow", means it forwards one step each loop. Initially, both of them point to the head. Second, if there exists a cycle in linked list, finally "fast" will catch up "slow" from the backward; otherwise, fast will reach to NULL first, then we return. That is the end of question 1. The accepted code is as following: bool hasCycle(ListNode *head) { ListNode *f...