链表(基于代码随想录)的随笔

链表

虚拟头节点

链表操作中一个非常总要的技巧:虚拟头节点。

链表的一大问题就是操作当前节点必须要找前一个节点才能操作。这就造成了,头结点的尴尬,因为头结点没有前一个节点了。

每次对应头结点的情况都要单独处理,所以使用虚拟头结点的技巧,就可以解决这个问题。很多题目都可以使用!

链表的基本操作

707. 设计链表 - 力扣(LeetCode)

  • 获取链表第index个节点的数值
  • 在链表的最前面插入一个节点
  • 在链表的最后面插入一个节点
  • 在链表第index个节点前面插入一个节点
  • 删除链表的第index个节点的数值

链表相交

面试题 02.07. 链表相交 - 力扣(LeetCode)

先计算两个链表的长度,计算长度差k,快指针先走k步,然后和慢指针一起走。

环形链表

142. 环形链表 II - 力扣(LeetCode)

快指针每次走 2 步,慢指针每次走一步,在相遇的地方记录位置。慢指针从起点出发,每次一步,快指针在记录的位置出发,每次一步。相遇的地方就是环形入口。

总结

posted @ 2024-03-05 21:55  十几里路  阅读(13)  评论(0)    收藏  举报