1. 程式人生 > >LeetCode 刪除連結串列的結點

LeetCode 刪除連結串列的結點

刪除連結串列的結點

請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾的)節點,您將只被給予要求被刪除的節點。

比如:假設該連結串列為 1 -> 2 -> 3 -> 4 ,給定您的為該連結串列中值為 3 的第三個節點,那麼在呼叫了您的函式之後,該連結串列則應變成 1 -> 2 -> 4 。

解題思路:由於已經明確表示不是末尾的節點,所以可以採用刪除給與節點的下一節點,刪除之前替換掉兩節點的資料。

  void deleteNode(ListNode* node) {
        if(node->next==NULL)
            return
; node->val=node->next->val; ListNode *temp=node->next; node->next=node->next->next; delete temp; }