237. 删除链表中的节点

请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。

题目数据保证需要删除的节点 不是末尾节点 。

思路:

不能访问head节点,同时链表是单向的,说明不能访问该节点的前一个节点,那么无法删除该节点,改变思路,删除该节点的下一个节点.

即将下一个节点的值赋给该节点,然后删除下一个节点.

 1 # Definition for singly-linked list.
 2 class ListNode(object):
 3     def __init__(self, x):
 4         self.val = x
 5         self.next = None
 6 
 7 
 8 class Solution(object):
 9     def deleteNode(self, node):
10         """
11         :type node: ListNode
12         :rtype: void Do not return anything, modify node in-place instead.
13         """
14         temp = node.next
15         node.next = temp.next
16         node.val = temp.val
17         

 

posted @ 2021-11-02 09:00  散装英语king  阅读(21)  评论(0编辑  收藏  举报