372 在O 1 時間複雜度刪除鍊錶節點

2022-05-12 02:56:57 字數 508 閱讀 2981

原題**:

給定乙個單鏈表中的乙個等待被刪除的節點(非表頭或表尾)。請在在o(1)時間複雜度刪除該鍊錶節點。

您在真實的面試中是否遇到過這個題? 

yes樣例linked list is1->2->3->4, and given node3, delete the node in place1->2->4

腦子都驢了,認為刪除結點一定要找到其前驅節點……(受上題影響?)

當前結點已給出,可以將其後繼節點全部值複製到當前結點(要刪除的節點)

1/**

2* definition of listnode

3* class listnode

11* }

12*/

1314

15class

solution

26 };

參考:1 

2 3 

在O 1 時間複雜度刪除鍊錶節點

給定乙個單鏈表中的乙個等待被刪除的節點 非表頭或表尾 請在在o 1 時間複雜度刪除該鍊錶節點。給定1 2 3 4,和節點3,刪除 3之後,鍊錶應該變為1 2 4。因為給定節點在鍊錶的中間,所以不可能用一步步迭代找到這個節點的前驅,那就得換個思路來思考這個問題。題目並未說不可以更改節點的元素,所以可以...

在O 1 時間複雜度刪除鍊錶節點

題目 給定乙個單鏈表中的乙個等待被刪除的節點 非表頭或表尾 請在在o 1 時間複雜度刪除該鍊錶節點。思路 給定乙個節點的地值node,想要將它刪除,最好的方法就是下乙個節點覆蓋這個節點,這個節點的資訊就不存在了,就相當於刪掉了這個節點。如此一來node的下乙個節點有了兩個一摸一樣的節點儲存它的資訊,...

在O(1)時間複雜度刪除鍊錶節點

1.問題描述 給定乙個單鏈表中的乙個等待被刪除的節點 非表頭或表尾 請在在o 1 時間複雜度刪除該鍊錶節點。樣例給定1 2 3 4,和節點3,刪除 3 之後,鍊錶應該變為1 2 4。2.解題思路 首先判空,然後定義乙個新的節點指向node 的下乙個節點,然後用node next覆蓋node,刪除新的...