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

算法-链表

小细节

初始化问题

我们这样子new一个ListNode

它里面的默认值是0,所以我们不能这样

如果我们为空,我们要返回null

节点结束条件判断(多创建节点问题)

参考示例3217

解析:

我的答案是多了一个无用节点

这是因为我每次都是在当前节点添加,然后直接创建下一个新节点

例如下面的

那你怎么能保证我下一个节点一定会用到呢?如果用不到的话他默认值为0,那我们要收集的答案不久多了一个无用节点?

所以我现在就换个思路

我们一般来说是有个头节点的对吧?

两种头节点

无值头节点:result.next才是我们真正的结果,也就是result这个节点是不存值的,我们的答案是result.next,下一开始才是我们的正式答案

有值头节点:result就是我们的真正结果,一开始就存了值

我后面就用第一种节点的方式了

也就是我们符合了要加入节点的条件,我们才创建节点

我们用创建一个新的节点,也就是.next,用这个下一个节点来装填我们的新的元素,这样子就不会多创建一个无用节点了

遍历链表

1290二进制链表转整数

每往右遍历一位,我们的结果就多×2

2180合并零之间的节点

817链表组件


删除节点

203移除链表元素

3217移除数组中存在的节点

83删除排序链表中重复的元素

82删除排序链表中重复的元素2

237删除链表中的节点

不能操作头节点

我们只能操作准备被删除的那个节点

所以我们直接简洁地跳过这个节点就好了


插入节点

2807在链表中插入最大公约数

147对链表进行插入排序


反转链表

206反转链表

92反转链表2


http://www.mrgr.cn/news/98962.html

相关文章:

  • 基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。
  • Anconda环境下修改Jupyter notebook的启动路径(Windows)
  • 原型模式详解及在自动驾驶场景代码示例(c++代码实现)
  • Function Calling的时序图(含示例)
  • Windows 11设置开机自动运行 .jar 文件
  • 前端服务器部署报错记录
  • 从 Transformer 到文本生成 (From Transformer to Text Generation)
  • 3、排序算法1---按考研大纲做的
  • Model Context Protocol (MCP) 开放协议对医疗多模态数据整合的分析路径【附代码】
  • 【失败】Gnome将默认终端设置为 Kitty
  • 【从零实现高并发内存池】申请、释放内存过程联调测试 与 大于256KB内存申请全攻略
  • 2D物体检测学习
  • C++ `shared_ptr` 多线程使用
  • 深入理解C++中string的深浅拷贝
  • day1-小白学习JAVA---JDK安装和环境变量配置(mac版)
  • 认知觉醒是什么? 如何做到 ? ( 持续更新ing )
  • cpolar 内网穿透 实现公网可以访问本机
  • [编程基础] Java · 学习手册
  • MATLAB 控制系统设计与仿真 - 35
  • 下拉框select标签类型