地址 https://www.acwing.com/problem/content/description/85/node
題目描述
給定單向鏈表的一個節點指針,定義一個函數在O(1)時間刪除該結點。算法
假設鏈表必定存在,而且該節點必定不是尾節點。編程
樣例函數
輸入:鏈表 1->4->6->8 刪掉節點:第2個節點即6(頭節點爲第0個節點) 輸出:新鏈表 1->4->8
算法1
其實不喜歡這種trick的編程
這裏的刪除 實際上是將下一個節點的值賦給本身 而後將下一個節點刪除spa
C++ 代碼指針
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: void deleteNode(ListNode* node) { ListNode* next = node->next; node->val = next->val; node->next = next->next; } }; 做者:defddr 連接:https://www.acwing.com/solution/acwing/content/3379/ 來源:AcWing 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。