题目链接:https://leetcode.com/problems/delete-node-in-a-linked-list/
思路分析:题目要求在链表中删除给定的node,该node不为链表中的tail。因为没有node的前一个结点,所以想要直接从linked list中直接删除结点node是不可能的。
根据题目信息,可以通过将node.next结点的值赋给node,并删除node.next结点,则效果与直接删除node结点相同。
代码如下:
# Definition for singly-linked list.
# 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
来源:https://www.cnblogs.com/tallisHe/p/5313367.html