class node:
def __init__(self, x):
self.val=x
self.next=none
def deletenode(head, val):
if not head:
return none
if head.val ==val: # 如果head節點就是要刪除的,直接返回下個節點就可以
return head.next
node =head
while node and node.next:
if node.next.val==val: #如果下乙個節點是目標節點,則斷開連線直接連到下下個節點
node.next = node.next.next
node = node.next
else:
node = node.next
return head
測試
1->2->3
返回11.next.val = 3
node1 = node(1)
node2 = node(2)
node3 = node(3)
node1.next=node2
node2.next=node3
new =deletenode(node1, 2)
new.next.val
刪除單鏈表中指定的節點
include stdafx.h include include include using namespace std struct node 建立單鏈表 node createsinglelist int arr,int n return head 輸出單鏈表 void print node h...
單鏈表刪除節點
給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。思路 刪除某個結點需要找到該結點的前乙個結點,由於單向鍊錶沒有指向前乙個結點的指標,所以不得不從頭指標開始遍歷鍊錶。顯然時間複雜度為o n 1 待刪除的節點不是尾節點的情況 首先把待刪除的節點的前乙個節點的...
單鏈表的建立,列印,釋放,刪除指定節點
直接看 菜鳥創作,技術太菜,不喜勿噴,謝謝 struct cell struct cell build void return head 返回單鏈表頭 void print struct cell head else void print struct cell head else void del...