题目来源:链接
题目描述:
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。题目保证链表中节点的值互不相同
实现代码:
def deleteNode(self, head: ListNode, val: int) -> ListNode:
if head.val == val:
return head.next
cur,pre = head.next,head
while cur and cur.val != val:
pre,cur = cur,cur.next
if cur:
pre.next = cur.next
return head
解题思路:
其实是数据结构中链表的基础题
需要注意删除头节点的特殊情况
找到了则需要将指针的指向变换一下,python的gc自动会把引用计数为0的回收
不需要像C++中delete那个节点