链表
力扣: 876. 链表的中间结点
给定一个头结点为 head 的非空单链表,返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。
public ListNode middleNode(ListNode head) {
//可以先算出一共有多少个元素,再取中间
// 定义快慢两个指针,快指针一次走两步 ,慢指针一次走一步,最后返回慢指针对应的节点,一定是中间节点
ListNode slow=head,fast=head;
while(fast!=null && fast.next!=null){
slow=slow.next;
fast=fast.next.next;
}
return slow;
}