原题链接
解题思路:快慢指针,快指针走两步,慢指针走一步。快指针到NULL慢指针自然到中间位置
/*** 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* p=head;ListNode* q=head;while(q&&q->next){p=p->next;q=q->next->next;}return p;}
};