LeetCode 分类题单

共整理 78 道题。这里只记录题目链接和简要题意,不包含解法与代码。

一、链表

节点删除与去重

位置、双指针与区间连接

链表运算、合并与排序

特殊结构、相交与回文

  • 141. 环形链表判断一个链表中是否存在能够沿 next 指针再次到达的环。
  • 142. 环形链表 II若链表存在环,返回开始入环的第一个节点;否则返回空。
  • 160. 相交链表找出两个无环单链表相交的起始节点;若不相交则返回空。
  • 234. 回文链表判断一个单链表从前向后和从后向前读取时是否相同。
  • 138. 随机链表的复制深拷贝一个同时具有 next 指针和 random 指针的链表,使复制链表不再引用原链表节点。

二、二叉树

深度与结构判断

路径与祖先状态

遍历、层次与视图

树的变换、等价与统计

删点成林与最近公共祖先

三、二叉搜索树

验证、搜索与范围统计

查询与最近公共祖先

四、矩阵

矩阵搜索

矩阵模拟与原地修改

  • 48. 旋转图像将一个正方形矩阵表示的图像原地顺时针旋转 90 度。
  • 54. 螺旋矩阵按照顺时针螺旋顺序返回矩阵中的所有元素。
  • 73. 矩阵置零若矩阵中的一个元素为零,就把它所在行和列的所有元素原地设为零。

五、数组、哈希与字符串

哈希与连续序列

  • 1. 两数之和在整数数组中找出和为目标值的两个元素,并返回它们的下标。
  • 49. 字母异位词分组把由相同字母以不同顺序组成的字符串归入同一组。
  • 128. 最长连续序列在未排序数组中找出数字连续的最长序列长度,元素在原数组中不必相邻。

位运算与缺失数字

  • 137. 只出现一次的数字 II整数数组中除一个元素只出现一次外,其余元素都出现三次,找出这个只出现一次的元素。
  • 260. 只出现一次的数字 III整数数组中恰有两个元素只出现一次,其余元素都出现两次,找出这两个只出现一次的元素。
  • 268. 丢失的数字数组包含范围 0 到 n 中的 n 个不同数字,找出该范围内没有出现的数字。
  • 389. 找不同字符串 t 由字符串 s 的字符打乱后再加入一个字符得到,找出这个新增字符。
  • 645. 错误的集合集合 1 到 n 中有一个数字重复并导致另一个数字缺失,找出重复值和缺失值。

双指针与原地处理

  • 15. 三数之和返回数组中所有和为零且互不重复的三元组。
  • 283. 移动零原地把数组中的所有零移动到末尾,同时保持非零元素的相对顺序。
  • 41. 缺失的第一个正数在未排序整数数组中找出没有出现的最小正整数。
  • 31. 下一个排列将整数数组原地修改为字典序中的下一个更大排列;若不存在,则重排为最小排列。
  • 75. 颜色分类把只包含 0、1、2 的数组原地排序,使相同数字相邻并按 0、1、2 排列。

子数组与前缀和

区间与滑动窗口

六、回溯

排列、组合与子集

  • 46. 全排列返回一个不含重复数字的数组的所有可能全排列。
  • 77. 组合返回范围 1 到 n 中所有由 K 个数组成的组合。
  • 216. 组合总和 III从 1 到 9 中选出 K 个互不重复的数字,返回所有和为 n 的组合。
  • 78. 子集返回一个元素互不相同的数组的所有子集,且结果中不能有重复子集。

字符串构造与分割