数据结构:链表(六)

单链表的操作

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

  

posted @ 2020-05-13 21:45  Roronoa-Zoro  阅读(105)  评论(0编辑  收藏  举报