LeetCode | 876. 链表的中间结点
- 我们这里有一个很好的思路,我们定义两个变量,第一个变量走两步,第二个变量走一步,一直循环,当第一个变量走到最后的时候停下来,这个时候第二个变量就是中间的那个值~~
如图:
代码如下:
c
struct ListNode* middleNode(struct ListNode* head){
struct ListNode* slow = head,*fast = head;
while(fast && fast->next)
{
slow = slow->next;
fast = fast->next->next;
}
return slow;
}