class Solution { public: ListNode* middleNode(ListNode* head) { } };
时间: 2024-05-13 07:18:06 浏览: 59
Solution.class
这是一个空的 C++ 类解决方案,其中包含一个名为`middleNode`的公共成员函数,该函数返回链表的中间节点。在这个空的解决方案中,函数体没有被实现。为了实现这个函数,你需要遍历链表一次来找到它的长度,然后再次遍历链表来找到中间节点。你可以使用两个指针来完成这个任务,一个指针每次移动一个节点,另一个指针每次移动两个节点。当第二个指针到达链表的末尾时,第一个指针就会指向链表的中间节点。以下是一个示例实现:
```
ListNode* middleNode(ListNode* head) {
ListNode* slow = head;
ListNode* fast = head;
while (fast != nullptr && fast->next != nullptr) {
slow = slow->next;
fast = fast->next->next;
}
return slow;
}
```
在这个实现中,我们使用两个指针`slow`和`fast`来遍历链表。`slow`指针每次移动一个节点,而`fast`指针每次移动两个节点。当`fast`指针到达链表的末尾时,`slow`指针就会指向链表的中间节点。
阅读全文