python 实现单链表指定节点删除
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
返回1
1.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
3