思路:定义两个虚拟指针指向头节点,一个fast,一个slow,fast走两步,slow走一步,前提是fast和fast.next不为空,这是返回的slow就是中间结点
class Solution {
public ListNode middleNode(ListNode head) {
ListNode fast=head;
ListNode slow=head;
while(fast!=null&&fast.next!=null){
fast=fast.next.next;
slow=slow.next;
}
return slow;
}
}