通关Leetcode链表这一篇就够了

目录

  • 链表的常考题型
    • 1. 设计链表
    • 2. 反转链表
    • 3. 快慢指针
    • 4. 前后指针 删除元素
    • 5. 模拟

链表的常考题型

1. 设计链表

  • 在不使用LinkedList 库的前提下,根据题目要求设计自定义链表

相关题目

  • 707. 设计链表

2. 反转链表

  • 反转链表是要改变链表的next指针的指向,不用重新定义一个新的链表
  • 考法: 反转整个链表反转中间部分链表反转K个一组的链表链表反转与数值运算
  • 注意: 通常需要设置dummyHead虚拟头节点来操作头节点

相关题目

  • 206. 反转链表
  • 92. 反转链表 II
  • 24. 两两交换链表中的节点
  • 25. K 个一组翻转链表
  • 445. 两数相加 II
  • 2816. 翻倍以链表形式表示的数字

3. 快慢指针

  • 快慢2个指针,快指针每次走2步,慢指针每次走1步
  • 快指针相对于慢指针速度快1倍,所以相同时间内,路程也比慢指针多一倍
  • 如果存在环,快指针会与慢指针相遇
  • 考法: 链表中间点链表环链表中间点结合链表反转

相关题目

  • 876. 链表的中间结点
  • 141. 环形链表
  • 142. 环形链表 II
  • 234. 回文链表
  • 143. 重排链表

4. 前后指针 删除元素

  • 一个指针负责遍历,遍历到满足要求的节点后,慢指针再进行删除元素
  • 通常需要设置dummyHead虚拟头节点来删除头节点

相关题目

  • 面试题 02.07. 链表相交
  • 203. 移除链表元素
  • 237. 删除链表中的节点
  • 19. 删除链表的倒数第 N 个结点
  • 83. 删除排序链表中的重复元素
  • 82. 删除排序链表中的重复元素 II

5. 模拟

  • 根据题目要求,模拟操作步骤

相关题目

  • 328. 奇偶链表
  • 430. 扁平化多级双向链表
  • 138. 随机链表的复制
  • 61. 旋转链表

你可能感兴趣的:(LeetCode,leetcode,链表,算法,面试)