题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
完全按照链表的形式来做:
class Node():
def __init__(self, val):
self.val = val
self.next = None
class linkList():
def __init__(self, node=None):
self.head = node
def travel(self):
if not self.head:
return None
cur = self.head
while cur:
print(cur.val, end=' ')
cur = cur.next
def insert(self, val, k):
cur = self.head
while cur.val != k:
cur = cur.next
node = Node(val)
node.next = cur.next
cur.next = node
def delete(self, val):
cur = self.head
pre = None
while cur.val != val:
pre = cur
cur = cur.next
if not pre:
self.head = self.head.next
else:
pre.next = cur.next
s = input().split()
N = s.pop(0)
node = Node(s.pop(0))
d = s.pop()
link = linkList(node)
while s:
val = s.pop(0)
k = s.pop(0)
link.insert(val, k)
link.delete(d)
link.travel()
