剑指offer18.删除链表的节点

给定单链表的头指针和一个节点指针,在O(1)时间内删除该节点

思路一:不一定需要找到该节点的前一个节点,只要把后一个节点复制到该节点上,再让该节点指向后后个节点,但是对于尾节点,没有下一个节点,仍需遍历找到它的前一个节点。但是还有一个问题是我们不能确定该节点是否在链表中,这个问题无法在O(1)时间内解决。

class Solution(object):
    def deleteNode(self, node):
        """
        :type node: ListNode
        :rtype: void 
        """
        node.val = node.next.val
        node.next = node.next.next
        return node

你可能感兴趣的:(剑指offer18.删除链表的节点)