給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。
思路:單指標,找到需要刪除的節點的前乙個節點即可。
/**
* 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...