天天看點

算法-連結清單連結清單

連結清單

力扣: 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;
    }
           

繼續閱讀