描述:
英文版的,人家说的是在只给定被删除节点的情况下,删除该节点(说实话我的阅读理解可能有点差,没搞懂题的意思.我一直尝试给题里面多加一个参数)
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
class Solution(object):
def deleteNode(self, node):
"""
:type node: ListNode
:rtype: void Do not return anything, modify node in-place instead.
"""
node.val = node.next.val
node.next = node.next.next
def deleteNode1(self, head, node):
"""
:type node: ListNode
:rtype: void Do not return anything, modify node in-place instead.
"""
if head.val == node.val:
return head.next
pre = head
temp = head.next
while temp:
if temp.val == node.val:
pre.next = temp.next
break
# 题里面说不是最后一个,但是为了以防万一还是加上
if not temp.next:
break
pre = temp
temp = temp.next
if __name__ == '__main__':
s1 = Solution()
head = [4, 5, 1, 9]; node = 1
s1.deleteNode(head, node)