题目:给你单链表的头结点head,请你找出并返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。
输入:head=[1,2,3,4,5]
输出:3
public ListNode middleNode(ListNode head){
if (head==null){
return head;
}
ListNode fast=head;
ListNode slow=head;
while (fast!=null && fast.next !=null){
fast=fast.next.next;
slow=slow.next;
}
return slow;
}
有一个中间节点时:
有两个中间节点时: