这个题目是这样色的:
这个解题方法很朴素:
考虑边界的情况,当这个值正好是第一个的时候,那么就是直接输出第二个节点。如果是最后一个,则我们直接让倒数第二个节点的 next 等于None。是不是很简单呀~ 还有这个题是针对每个val只出现一次的情况的
def deleteNode(self, head: ListNode, val: int) -> ListNode:
if head.val == val:
return head.next # 如果是第一个
element = head
while element.next is not None:
if element.next.val == val and element.next.next is not None: #中间的
temp = element.next.next # 这步非常多余,可以去掉
element.next = temp # 直接将该节点与下下个节点相连
return head
element= element.next # 这个判断完了,那我们看下一个
if element.next.next is None: # 如果是最后一个
element.next = None
return head