当前位置: 首页 > news >正文

python小技巧:创建单链表及删除元素

目前只有单链表(无法查找上一个元素),后面再更新循环链表双链表

class SingleLinkedList:def createList(self, raw_list):if len(raw_list) == 0:head = ListNode()else:head = ListNode(raw_list[0])cur = headfor i in range(1, len(raw_list)):cur.next = ListNode(raw_list[i])cur = cur.nextreturn headdef removeElements(self, head, val: int):v_head = ListNode()  # 虚拟头节点v_head.next = headcur = v_headwhile cur:if cur and cur.next:if cur.next.val == val:cur.next = cur.next.nextcontinuecur = cur.nexthead = v_head.nextreturn headdef printList(self, head):cur = s1_headwhile cur:print(cur.val)cur = cur.next
a = [1,2,5,4,5,5]
single_linked_list = SingleLinkedList()print("****************** before remove ***********************")
s1_head = single_linked_list.createList(a)
single_linked_list.printList(s1_head)print("****************** after remove ***********************")
new_head = single_linked_list.removeElements(s1_head, 5)
single_linked_list.printList(new_head)
http://www.lryc.cn/news/185772.html

相关文章:

  • ADuM1250 ADuM1251 模块 I2C IIC总线2500V电磁隔离 接口保护
  • C# 把多个dll合成一个dll
  • scipy.sparse.coo_matrix.sum()关于axis的用法
  • C++类与对象(下)
  • SpringBoot——》引入Redis
  • C# newtonsoft序列化将long类型转化为字符串
  • 黑马点评-02使用Redis代替session,Redis + token机制实现
  • arm 点灯实验代码以及现象
  • 选择适合普通公司的项目管理软件
  • E (1081) : DS堆栈--逆序输出(STL栈使用)
  • 访问者模式 行为型设计模式之九
  • JVM垃圾回收之JVM GC算法探究
  • Django 前端模板显示换行符、日期格式
  • Aurora中的策略模式和模板模式
  • Ubuntu 22.04 安装系统 手动分区 针对只有一块硬盘 lvm 单独分出/home
  • Android系统定制之监听USB键盘来判断是否弹出软键盘
  • LeakyReLU激活函数
  • Qt单一应用实例判断
  • 企业AI工程化之路:如何实现高效、低成本、高质量的落地?
  • 最短路径专题8 交通枢纽 (Floyd求最短路 )
  • 文件扫描模块
  • MySQL之主从复制
  • [leetcode 单调栈] 901. 股票价格跨度 M
  • Java线程池:并发编程的利器
  • ARM硬件断点
  • Java使用WebSocket(基础)
  • 图像处理与计算机视觉--第五章-图像分割-自适应阈值分割
  • 记一次问题排查
  • 【Spring Boot】创建一个 Spring Boot 项目
  • flutter中使用缓存