删除满足条件的链表节点。
方法: 把需要删除的节点的next节点复制给当前需要删除的节点,然后删除当前节点的next节点,把当前节点指向当前的next..next节点,即实现了删除。
# from .revers_link_list import LinkNode
# define linked list
class LinkNode(object):
def __init__(self, x):
self.val = x
self.next = None
def create_list():
"""
create two LinkList
:return: head node LinkNde
"""
pre = LinkNode(None)
head_node = pre
while True:
val = int(input())
if val == -1:
break
pre.next = LinkNode(val)
pre = pre.next
return head_node
def delete_node(node: LinkNode):
"""
把当前节点的下一个节点赋值给当前节点, 删除下一个节点, 当前节点指向下下一个节点
:param node: LinkNode
:return: void
"""
next_node = node.next
next_next_node = node.next.next
node.val = next_node.val
node.next = next_ne