数据结构:链表(六)
单链表的操作
remove(item) 删除节点
思路:1、首先这需要遍历,需要找到这个元素
2、找到这个元素节点后,让前一个节点指向后一个节点就可以,用到两个指针,注意第一个元素是要删除的元素,要让头节点指向下一个节点
class SingleLinkList(object): def __init__(self): self._head=None def remove(self,item): cur=self._head pre=None while cur !=None: if cur.item == item: if cur==self.head: #当一开始头节点指向要删除的元素,直接让头节点指向下一个节点 self._head=cur.next else: pre.next=cur.next #一般情况下,让前一个节点指向下一个节点,是最后一个元素也满足条件
break #删除之后跳出循环 else: #循环移动 pre=cur cur=cur.next