题解 | #删除链表的节点#8行代码处理删除链表节点问题,可以删除多个节点
删除链表的节点
http://www.nowcoder.com/practice/f9f78ca89ad643c99701a7142bd59f5d
class Solution:
def deleteNode(self , head: ListNode, val: int) -> ListNode:
# write code here
#该方法可以处理删除多个节点
rt=head#复制原始链表的起始节点位置
if rt.val==val:#判断起始节点的值是否为要删除的节点的值,如果是,则将head指向起始节点的下一个节点
head=rt.next#不直接返回rt.next是为了处理删除多个节点的问题
#return rt.next #如果只处理删除单个节点的问题,那么直接返回rt.next即可
while rt.next!=None:#由于当前节点的值在上一次循环已经被遍历过了,所以只要下一个节点为空就可以跳出循环
if rt.next.val==val:#判断下一个节点的值是否为要删除的节点值
rt.next=rt.next.next#如果是,则将下一个节点指向系下下个节点
rt=rt.next#继续向后遍历节点
return head#返回rt的起始节点