Skip to content

leetcode 876. Middle of the Linked List [Medium]

davidlei

題目敘述

找出 linked list 的中間節點。

經典的快慢指標題:快指標每次走兩步,慢指標每次走一步,快指標到達終點時,慢指標剛好在中間。這題找到中間節點後不需要前面的資料,所以直接用 head 當作慢指標。

解題流程

class Solution {
public:
    ListNode* middleNode(ListNode* head) {
        ListNode *fast = head;
        
        while (fast && fast->next) {
            fast = fast->next->next;
            head = head->next;
        }
        return head;
    }
};
Edit this post
Previous
利用 vagrant 執行自己編譯的 kernel,快速搭建實驗環境
Next
leetcode 476. Number Complement [Medium]