给定一个头结点为 head
的非空单链表,返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。
双指针(快慢指针)解决
class Solution {
public ListNode middleNode(ListNode head) {
ListNode low = head,fast = head;
while(fast!=null&&fast.next!=null){
low = low.next;
fast = fast.next.next;
}
return low;
}
}
这个题解说的就很好
然后还有其他的类似题目