劍指offer 刪除鍊錶的節點

2021-10-12 19:55:26 字數 791 閱讀 2552

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。

思路:單指標,找到需要刪除的節點的前乙個節點即可。

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

if(head.val == val)

listnode cur = head;

while

(cur.next != null && cur.next.val != val)

if(cur.next != null)

return head;

}}

雙指標:

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

if(head.val == val)

listnode pre = head;

listnode cur = head.next;

while

(cur != null && cur.val != val)

if(cur != null) pre.next = cur.next;

return head;

}}

時間複雜度:o(n) 空間複雜度:o(1)

劍指Offer 刪除鍊錶的節點

劍指offer 刪除鍊錶的節點 題目要求 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。解題思路 單鏈表刪除節點,直接將當前節點的指標指向下乙個節點的next即可 因為該題是查詢節點中的值是否等於給定值,並且找到之後無法向前找節點 在確認是否是要刪除的...

劍指offer 刪除鍊錶的節點

給定單向鍊錶的頭指標和乙個節點指標,定義乙個函式在o 1 時間內刪除該節點。1 struct listnode 1 void deletenode listnode plisthead,listnode ptobedeleted 2if plistnode ptobedeleted 56 if pt...

劍指Offer 鍊錶 刪除鍊錶的節點

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點,返回刪除後的鍊錶的頭節點。解題思路 演算法流程 複雜度分析 實現 definition for singly linked list.class listnode def init self,x self.val x self.ne...