题目描述:
题解:
1.创建一个fakehead,fakehead.next = head
2.node1=fakehead node2=head
3.判断node2.val是否为val,如果是,则说明此时node2对应的就是需要删除的节点,node1.next=node2,否则node1 node2均向后移动。
4.返回fakehead.next,不可以直接返回head,否则在head节点需要被删除时会出错。
class Solution(object): def deleteNode(self, head, val): fakehead = ListNode() fakehead.next = head node1 = fakehead node2 = head while node2: if node2.val== val: node1.next = node2.next node1 = node1.next node2 = node2.next return fakehead.next