1. 题目来源
链接:876. 链表的中间结点
来源:LeetCode
2. 题目说明
3. 题目解析
方法一:快慢指针+常规解法
所以就简单的快慢指针吗???
参见代码如下:
// 执行用时 :0 ms, 在所有 C++ 提交中击败了100.00%的用户
// 内存消耗 :8 MB, 在所有 C++ 提交中击败了100.00%的用户
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* middleNode(ListNode* head) {
ListNode* left = head;
ListNode* right = head;
while (right != nullptr and right->next != nullptr) {
right = right->next->next;
left = left->next;
}
return left;
}
};