题目描述
实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。
给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true
解题思路
假设只能访问该节点,不能访问前面的节点,可以直接把该节点后面的节点的值复制过来,然后删除后面的一个节点即可
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Remove:
def removeNode(self, pNode):
# 假设只能访问该节点,不能访问前面的节点,可以直接把该节
# 点后面的节点的值复制过来,然后删除后面的一个节点即可
if pNode.next == None:
PNode = None
return False
else:
pNode.value = pNode.next.val
pNode.next = pNode.next.next
return True