如何快速查找单链表的中间节点?
快慢指针思路:快指针和慢指针从头开始遍历链表节点,快指针走两步,慢指针走一步,当快指针走到尾部时,慢指针刚好走到中间节点。
ListNode* findMidNode(ListNode* head)
{
ListNode *slow, *fast;
slow = head;
fast = head;
while (fast && fast->next)
{
slow = slow->next;
fast = fast->next->next;
}
return slow;
}