第三天——链表基础

Tags
链表

链表基础

学习链接

链表的简单定义

链表就是一串通过指针链接起来的线性数据结构,每个元素分为value和指向前后的指针
单链表:
notion image
双链表:
notion image

链表的操作

  1. 新建节点
class ListNode { val; next = null; constructor(value) { this.val = value; this.next = null; } }
  1. 删除节点
直接将当前节点的next指向下下个节点即可实现
notion image
 
  1. 添加节点
当前节点指向新节点,新节点指向下一个节点
notion image
性能分析
notion image
 

链表总结

常用方法

  1. 虚拟头结点
解决删除问题,给头结点一个前置节点
  1. 翻转链表
设置cur、prev、temp,一直修改指针指向
  1. 双指针法
  • 解决删除倒数第N个节点问题(fast先走N步)
  • 解决链表相交的问题,保持长度相同(长的先走)
  • 解决环形链表的问题(slow每次走一步,fast走两步,必在环里相交)
 
notion image