第九周作业
一、如图,该题要求删除链表中指定节点。
当我们删除列表中节点时要考虑节点位置,然后采取不同措施。如果节点不在开头,由于知道父节点,故操作很方便;如果节点在开头,可以设置辅助头节点或从节点下一个开始查找删除遍历完再处理头节点。出于这种考虑我在代码中设置了伪头节点。
class Solution(object):
def removeElements(self, head, val):
new_head = pre = ListNode(0) '''设置伪头节点,方便我们遍历'''
pre.next = head
while head:
if head.val == val: '''删除头节点'''
pre.next = head.next
else:
pre = pre.next '''删除中间节点'''
head = head.next
return new_head.next
编译执行结果:
可见我们成功从链表中删除了指定数值6,代码正确。