leetcode 链表的中间结点

这是一道easy题,直接的方法可以遍历两次,先得到length再走length/2步(向上取整),如果需要一次遍历,可以使用快慢指针,当快指针到达null时,慢指针的位置就是中点。
public ListNode middleNode(ListNode head) { ListNode slow=head; ListNode fast=head; while(fast!=null&&fast.next!=null) { fast=fast.next.next; slow=slow.next; } return slow; }


浙公网安备 33010602011771号