个人 LeetCode 刷题笔记,按题目独立归档。每道题包含题目描述、思路与解析、Python / Go 双语言解答。
仓库地址: https://github.com/zzz-cx/leetcode
leetcode/
├── README.md # 本文件(总分类目录)
├── scripts/
│ └── run.py # 本地运行题解
└── solutions/
├── README.md # 按题号排序的完整索引
├── TEMPLATE.md # 题解写作模板
├── _helpers/ # Python 测试工具
└── {题号}-{slug}/ # 单题目录
├── README.md # 题目 + 思路 + 代码
├── solution.py
└── solution.go
# 按题号运行(Python,默认)
python scripts/run.py 1
python scripts/run.py 134
# 按目录名或关键词
python scripts/run.py 001-two-sum
python scripts/run.py two-sum
# 运行 Go 版本(需 solution.go 含 main 函数)
python scripts/run.py 134 --lang go
go run solutions/134-gas-station/solution.go
# 列出全部题目
python scripts/run.py --list点击题号进入对应题解。共 96 道(95 道 LeetCode + 1 道自定义)。
| 题号 | 题目 | 链接 |
|---|---|---|
| 1 | 两数之和 | 001-two-sum |
| 49 | 字母异位词分组 | 049-group-anagrams |
| 202 | 快乐数 | 202-happy-number |
| 128 | 最长连续序列 | 128-longest-consecutive-sequence |
| 167 | 两数之和 II - 输入有序数组 | 167-two-sum-ii-input-array-is-sorted |
| 41 | 缺失的第一个正数 | 041-first-missing-positive |
| 56 | 合并区间 | 056-merge-intervals |
| 57 | 插入区间 | 057-insert-interval |
| 228 | 汇总区间 | 228-summary-ranges |
| 88 | 合并两个有序数组 | 088-merge-sorted-array |
| 189 | 旋转数组 | 189-rotate-array |
| 238 | 除自身以外数组的乘积 | 238-product-of-array-except-self |
| 287 | 寻找重复数 | 287-find-the-duplicate-number |
| 347 | 前 K 个高频元素 | 347-top-k-frequent-elements |
| 560 | 和为 K 的子数组 | 560-subarray-sum-equals-k |
| 题号 | 题目 | 链接 |
|---|---|---|
| 3 | 无重复字符的最长子串 | 003-longest-substring-without-repeating-characters |
| 15 | 三数之和 | 015-3sum |
| 26 | 删除有序数组中的重复项 | 026-remove-duplicates-from-sorted-array |
| 27 | 移除元素 | 027-remove-element |
| 28 | 找出字符串中第一个匹配项的下标 | 028-find-the-index-of-the-first-occurrence-in-a-string |
| 30 | 串联所有单词的子串 | 030-substring-with-concatenation-of-all-words |
| 125 | 验证回文串 | 125-valid-palindrome |
| 167 | 两数之和 II - 输入有序数组 | 167-two-sum-ii-input-array-is-sorted |
| 209 | 长度最小的子数组 | 209-minimum-size-subarray-sum |
| 42 | 接雨水 | 042-trapping-rain-water |
| 75 | 颜色分类 | 075-sort-colors |
| 80 | 删除有序数组中的重复项 II | 080-remove-duplicates-from-sorted-array-ii |
| 239 | 滑动窗口最大值 | 239-sliding-window-maximum |
| 438 | 找到字符串中所有字母异位词 | 438-find-all-anagrams-in-a-string |
| 763 | 划分字母区间 | 763-partition-labels |
| 题号 | 题目 | 链接 |
|---|---|---|
| 36 | 有效的数独 | 036-valid-sudoku |
| 48 | 旋转图像 | 048-rotate-image |
| 54 | 螺旋矩阵 | 054-spiral-matrix |
| 64 | 最小路径和 | 064-minimum-path-sum |
| 73 | 矩阵置零 | 073-set-matrix-zeroes |
| 289 | 生命游戏 | 289-game-of-life |
| 74 | 搜索二维矩阵 | 074-search-a-2d-matrix |
| 题号 | 题目 | 链接 |
|---|---|---|
| 2 | 两数相加 | 002-add-two-numbers |
| 19 | 删除链表的倒数第 N 个结点 | 019-remove-nth-node-from-end-of-list |
| 21 | 合并两个有序链表 | 021-merge-two-sorted-lists |
| 24 | 两两交换链表中的节点 | 024-swap-nodes-in-pairs |
| 138 | 复制带随机指针的链表 | 138-copy-list-with-random-pointer |
| 141 | 环形链表 | 141-linked-list-cycle |
| 142 | 环形链表 II | 142-linked-list-cycle-ii |
| 148 | 排序链表 | 148-sort-list |
| 160 | 相交链表 | 160-intersection-of-two-linked-lists |
| 206 | 反转链表 | 206-reverse-linked-list |
| 234 | 回文链表 | 234-palindrome-linked-list |
| 题号 | 题目 | 链接 |
|---|---|---|
| 5 | 最长回文子串 | 005-longest-palindromic-substring |
| 6 | Z 字形变换 | 006-zigzag-conversion |
| 14 | 最长公共前缀 | 014-longest-common-prefix |
| 28 | 找出字符串中第一个匹配项的下标 | 028-find-the-index-of-the-first-occurrence-in-a-string |
| 30 | 串联所有单词的子串 | 030-substring-with-concatenation-of-all-words |
| 49 | 字母异位词分组 | 049-group-anagrams |
| 205 | 同构字符串 | 205-isomorphic-strings |
| 290 | 单词规律 | 290-word-pattern |
| 125 | 验证回文串 | 125-valid-palindrome |
| 151 | 反转字符串中的单词 | 151-reverse-words-in-a-string |
| 20 | 有效的括号 | 020-valid-parentheses |
| 22 | 括号生成 | 022-generate-parentheses |
| 84 | 柱状图中最大的矩形 | 084-largest-rectangle-in-histogram |
| 155 | 最小栈 | 155-min-stack |
| 394 | 字符串解码 | 394-decode-string |
| 题号 | 题目 | 链接 |
|---|---|---|
| 94 | 二叉树的中序遍历 | 094-binary-tree-inorder-traversal |
| 101 | 对称二叉树 | 101-symmetric-tree |
| 102 | 二叉树的层序遍历 | 102-binary-tree-level-order-traversal |
| 104 | 二叉树的最大深度 | 104-maximum-depth-of-binary-tree |
| 105 | 从前序与中序遍历序列构造二叉树 | 105-construct-binary-tree-from-preorder-and-inorder-traversal |
| 114 | 二叉树展开为链表 | 114-flatten-binary-tree-to-linked-list |
| 199 | 二叉树的右视图 | 199-binary-tree-right-side-view |
| 226 | 翻转二叉树 | 226-invert-binary-tree |
| 230 | 二叉搜索树中第 K 小的元素 | 230-kth-smallest-element-in-a-bst |
| 236 | 二叉树的最近公共祖先 | 236-lowest-common-ancestor-of-a-binary-tree |
| 437 | 路径总和 III | 437-path-sum-iii |
| 543 | 二叉树的直径 | 543-diameter-of-binary-tree |
| 662 | 二叉树最大宽度 | 662-maximum-width-of-binary-tree |
| 题号 | 题目 | 链接 |
|---|---|---|
| 200 | 岛屿数量 | 200-number-of-islands |
| 207 | 课程表 | 207-course-schedule |
| 994 | 腐烂的橘子 | 994-rotting-oranges |
| 题号 | 题目 | 链接 |
|---|---|---|
| 46 | 全排列 | 046-permutations |
| 131 | 分割回文串 | 131-palindrome-partitioning |
| 题号 | 题目 | 链接 |
|---|---|---|
| 45 | 跳跃游戏 II | 045-jump-game-ii |
| 452 | 用最少数量的箭引爆气球 | 452-minimum-number-of-arrows-to-burst-balloons |
| 55 | 跳跃游戏 | 055-jump-game |
| 134 | 加油站 | 134-gas-station |
| 题号 | 题目 | 链接 |
|---|---|---|
| 53 | 最大子数组和 | 053-maximum-subarray |
| 72 | 编辑距离 | 072-edit-distance |
| 121 | 买卖股票的最佳时机 | 121-best-time-to-buy-and-sell-stock |
| 122 | 买卖股票的最佳时机 II | 122-best-time-to-buy-and-sell-stock-ii |
| 139 | 单词拆分 | 139-word-break |
| 152 | 最大子数组乘积 | 152-maximum-product-subarray |
| 300 | 最长递增子序列 | 300-longest-increasing-subsequence |
| 322 | 零钱兑换 | 322-coin-change |
| 题号 | 题目 | 链接 |
|---|---|---|
| 4 | 寻找两个正序数组的中位数 | 004-median-of-two-sorted-arrays |
| 33 | 搜索旋转排序数组 | 033-search-in-rotated-sorted-array |
| 34 | 在排序数组中查找元素的第一个和最后一个位置 | 034-find-first-and-last-position-of-element-in-sorted-array |
| 153 | 寻找旋转排序数组中的最小值 | 153-find-minimum-in-rotated-sorted-array |
| 215 | 数组中的第 K 个最大元素 | 215-kth-largest-element-in-an-array |
| 题号 | 题目 | 链接 |
|---|---|---|
| 31 | 下一个排列 | 031-next-permutation |
| 380 | 插入删除获取随机元素 | 380-insert-delete-getrandom-o1 |
| 题号 | 题目 | 链接 |
|---|---|---|
| — | 密码计数(相邻字母不能相同) | 000-password-count |
需要按题号顺序浏览时,见 solutions/README.md。
每道题的 README.md 参考以下结构撰写(详见 solutions/TEMPLATE.md):
- 题目 — 题意、示例、约束
- 思路与解析 — 问题转化、算法策略、复杂度
- 解答 — Python / Go 代码及逐行解析
| 分类 | 题数 |
|---|---|
| 数组 · 哈希 · 前缀和 | 15 |
| 双指针 · 滑动窗口 | 13 |
| 矩阵 | 7 |
| 链表 | 11 |
| 栈 · 字符串 | 15 |
| 二叉树 | 13 |
| 图 · BFS · DFS | 3 |
| 回溯 | 2 |
| 贪心 | 4 |
| 动态规划 | 8 |
| 二分查找 | 5 |
| 排序 · 设计 | 2 |
| 自定义 | 1 |
| 合计 | 96 |