Appearance
LeetCode 题解
我的 LeetCode 算法题解集合,每道题可点击跳转到 LeetCode 原题。
各类型代表题:
- 数组:912. 排序数组
- 哈希表:1. 两数之和
- 链表:25. K 个一组翻转链表
- 字符串:3. 无重复字符的最长子串
- 栈/队列:20. 有效的括号
- 树:102. 二叉树的层序遍历
- 二分查找:704. 二分查找
- 动态规划:53. 最大子数组和
- 回溯:46. 全排列
- 贪心:55. 跳跃游戏
- 双指针:11. 盛最多水的容器
- 滑动窗口:209. 长度最小的子数组
- 位运算:136. 只出现一次的数字
- 设计:146. LRU 缓存机制
- 图/BFS:200. 岛屿数量
题目列表
- 1 两数之和 — LeetCode
- 2 两数相加 — LeetCode
- 3 无重复字符的最长子串 — LeetCode
- 5 最长回文子串 — LeetCode
- 7 整数反转 — LeetCode
- 9 回文数 — LeetCode
- 10 正则表达式匹配 — LeetCode
- 11 盛最多水的容器 — LeetCode
- 13 罗马数字转整数 — LeetCode
- 14 最长公共前缀 — LeetCode
- 15 三数之和 — LeetCode
- 16 最接近的三数之和 — LeetCode
- 17 电话号码的字母组合 — LeetCode
- 18 四数之和 — LeetCode
- 19 删除链表的倒数第N个节点 — LeetCode
- 20 有效的括号 — LeetCode
- 21 合并两个有序链表 — LeetCode
- 22 括号生成 — LeetCode
- 23 合并K个升序链表 — LeetCode
- 24 两两交换链表中的节点 — LeetCode
- 25 K 个一组翻转链表 — LeetCode
- 26 删除排序数组中的重复项 — LeetCode
- 27 移除元素 — LeetCode
- 28 实现 strStr() — LeetCode
- 32 最长有效括号 — LeetCode
- 33 搜索旋转排序数组 — LeetCode
- 34 在排序数组中查找元素的第一个和最后一个位置 — LeetCode
- 35 搜索插入位置 — LeetCode
- 36 有效的数独 — LeetCode
- 37 解数独 — LeetCode
- 39 组合总和 — LeetCode
- 40 组合总和 II — LeetCode
- 41 缺失的第一个正数 — LeetCode
- 42 接雨水 — LeetCode
- 43 字符串相乘 — LeetCode
- 46 全排列 — LeetCode
- 47 全排列 II — LeetCode
- 50 Pow(x, n) — LeetCode
- 51 N 皇后 — LeetCode
- 52 N皇后 II — LeetCode
- 53 最大子序和 — LeetCode
- 54 螺旋矩阵 — LeetCode
- 55 跳跃游戏 — LeetCode
- 56 合并区间 — LeetCode
- 58 最后一个单词的长度 — LeetCode
- 59 螺旋矩阵 II — LeetCode
- 60 排列序列 — LeetCode
- 61 旋转链表 — LeetCode
- 62 不同路径 — LeetCode
- 64 最小路径和 — LeetCode
- 66 加一 — LeetCode
- 67 二进制求和 — LeetCode
- 69 Sqrt(x) — LeetCode
- 70 爬楼梯 — LeetCode
- 71 简化路径 — LeetCode
- 72 编辑距离 — LeetCode
- 74 搜索二维矩阵 — LeetCode
- 77 组合 — LeetCode
- 78 子集 — LeetCode
- 79 单词搜索 — LeetCode
- 80 删除有序数组中的重复项 II — LeetCode
- 81 搜索旋转排序数组 II — LeetCode
- 82 删除排序链表中的重复元素 II — LeetCode
- 83 删除排序链表中的重复元素 — LeetCode
- 85 最大矩形 — LeetCode
- 86 分隔链表 — LeetCode
- 88 合并两个有序数组 — LeetCode
- 90 子集 II — LeetCode
- 92 反转链表 II — LeetCode
- 93 复原 IP 地址 — LeetCode
- 94 二叉树的中序遍历 — LeetCode
- 95 不同的二叉搜索树 II — LeetCode
- 96 不同的二叉搜索树 — LeetCode
- 98 验证二叉搜索树 — LeetCode
- 99 恢复二叉搜索树 — LeetCode
- 100 相同的树 — LeetCode
- 101 对称二叉树 — LeetCode
- 102 二叉树的层序遍历 — LeetCode
- 103 二叉树的锯齿形层序遍历 — LeetCode
- 104 二叉树的最大深度 — LeetCode
- 105 从前序与中序遍历序列构造二叉树 — LeetCode
- 106 从中序与后序遍历序列构造二叉树 — LeetCode
- 107 二叉树的层序遍历 II — LeetCode
- 108 将有序数组转换为二叉搜索树 — LeetCode
- 109 有序链表转换二叉搜索树 — LeetCode
- 110 平衡二叉树 — LeetCode
- 111 二叉树的最小深度 — LeetCode
- 112 路径总和 — LeetCode
- 113 路径总和 II — LeetCode
- 114 二叉树展开为链表 — LeetCode
- 118 杨辉三角 — LeetCode
- 120 三角形最小路径和 — LeetCode
- 121 买卖股票的最佳时机 — LeetCode
- 122 买卖股票的最佳时机 II — LeetCode
- 123 买卖股票的最佳时机 III — LeetCode
- 125 验证回文串 — LeetCode
- 128 最长连续序列 — LeetCode
- 129 求根节点到叶节点数字之和 — LeetCode
- 131 分割回文串 — LeetCode
- 132 分割回文串 II — LeetCode
- 134 加油站 — LeetCode
- 136 只出现一次的数字 — LeetCode
- 138 复制带随机指针的链表 — LeetCode
- 141 环形链表 — LeetCode
- 142 环形链表 II — LeetCode
- 143 重排链表 — LeetCode
- 144 二叉树的前序遍历 — LeetCode
- 145 二叉树的后序遍历 — LeetCode
- 146 LRU 缓存机制 — LeetCode
- 147 对链表进行插入排序 — LeetCode
- 148 排序链表 — LeetCode
- 151 反转字符串中的单词 — LeetCode
- 152 乘积最大子数组 — LeetCode
- 153 寻找旋转排序数组中的最小值 — LeetCode
- 155 最小栈 — LeetCode
- 160 相交链表 — LeetCode
- 162 寻找峰值 — LeetCode
- 164 最大间距 — LeetCode
- 167 两数之和 II - 输入有序数组 — LeetCode
- 169 多数元素 — LeetCode
- 171 Excel 表列序号 — LeetCode
- 172 阶乘后的零 — LeetCode
- 179 最大数 — LeetCode
- 187 重复的DNA序列 — LeetCode
- 188 买卖股票的最佳时机 IV — LeetCode
- 189 旋转数组 — LeetCode
- 193 有效电话号码 — LeetCode
- 198 打家劫舍 — LeetCode
- 200 岛屿数量 — LeetCode
- 202 快乐数 — LeetCode
- 203 移除链表元素 — LeetCode
- 205 同构字符串 — LeetCode
- 206 反转链表 — LeetCode
- 209 长度最小的子数组 — LeetCode
- 215 数组中的第K个最大元素 — LeetCode
- 216 组合总和 III — LeetCode
- 217 存在重复元素 — LeetCode
- 219 存在重复元素 II — LeetCode
- 222 完全二叉树的节点个数 — LeetCode
- 225 用队列实现栈 — LeetCode
- 226 翻转二叉树 — LeetCode
- 230 二叉搜索树中第K小的元素 — LeetCode
- 231 2的幂 — LeetCode
- 232 用栈实现队列 — LeetCode
- 234 回文链表 — LeetCode
- 235 二叉搜索树的最近公共祖先 — LeetCode
- 236 二叉树的最近公共祖先 — LeetCode
- 237 删除链表中的节点 — LeetCode
- 238 除自身以外数组的乘积 — LeetCode
- 240 搜索二维矩阵 II — LeetCode
- 242 有效的字母异位词 — LeetCode
- 257 二叉树的所有路径 — LeetCode
- 258 各位相加 — LeetCode
- 263 丑数 — LeetCode
- 264 丑数 II — LeetCode
- 268 丢失的数字 — LeetCode
- 274 H 指数 — LeetCode
- 278 第一个错误的版本 — LeetCode
- 283 移动零 — LeetCode
- 290 单词规律 — LeetCode
- 300 最长递增子序列 — LeetCode
- 306 累加数 — LeetCode
- 309 最佳买卖股票时机含冷冻期 — LeetCode
- 313 超级丑数 — LeetCode
- 322 零钱兑换 — LeetCode
- 326 3的幂 — LeetCode
- 328 奇偶链表 — LeetCode
- 342 4的幂 — LeetCode
- 344 反转字符串 — LeetCode
- 347 前 K 个高频元素 — LeetCode
- 349 两个数组的交集 — LeetCode
- 350 两个数组的交集 II — LeetCode
- 357 计算各个位数不同的数字个数 — LeetCode
- 373 查找和最小的K对数字 — LeetCode
- 374 猜数字大小 — LeetCode
- 378 有序矩阵中第 K 小的元素 — LeetCode
- 380 O(1) 时间插入、删除和获取随机元素 — LeetCode
- 381 O(1) 时间插入、删除和获取随机元素 - 允许重复 — LeetCode
- 383 赎金信 — LeetCode
- 384 打乱数组 — LeetCode
- 387 字符串中的第一个唯一字符 — LeetCode
- 389 找不同 — LeetCode
- 392 判断子序列 — LeetCode
- 398 随机数索引 — LeetCode
- 404 左叶子之和 — LeetCode
- 409 最长回文串 — LeetCode
- 414 第三大的数 — LeetCode
- 423 从英文中重建数字 — LeetCode
- 429 N 叉树的层序遍历 — LeetCode
- 430 扁平化多级双向链表 — LeetCode
- 432 全 O(1) 的数据结构 — LeetCode
- 441 排列硬币 — LeetCode
- 442 数组中重复的数据 — LeetCode
- 445 两数相加 II — LeetCode
- 450 删除二叉搜索树中的节点 — LeetCode
- 451 根据字符出现频率排序 — LeetCode
- 455 分发饼干 — LeetCode
- 459 重复的子字符串 — LeetCode
- 496 下一个更大元素 I — LeetCode
- 500 键盘行 — LeetCode
- 503 下一个更大元素 II — LeetCode
- 509 斐波那契数 — LeetCode
- 513 找树左下角的值 — LeetCode
- 515 在每个树行中找最大值 — LeetCode
- 526 优美的排列 — LeetCode
- 530 二叉搜索树的最小绝对差 — LeetCode
- 557 反转字符串中的单词 III — LeetCode
- 561 数组拆分 I — LeetCode
- 567 字符串的排列 — LeetCode
- 575 分糖果 — LeetCode
- 589 N 叉树的前序遍历 — LeetCode
- 590 N 叉树的后序遍历 — LeetCode
- 599 两个列表的最小索引总和 — LeetCode
- 605 种花问题 — LeetCode
- 617 合并二叉树 — LeetCode
- 622 设计循环队列 — LeetCode
- 629 K个逆序对数组 — LeetCode
- 637 二叉树的层平均值 — LeetCode
- 645 错误的集合 — LeetCode
- 647 回文子串 — LeetCode
- 662 二叉树最大宽度 — LeetCode
- 668 乘法表中第k小的数 — LeetCode
- 673 最长递增子序列的个数 — LeetCode
- 674 最长连续递增序列 — LeetCode
- 680 验证回文字符串 ⅱ — LeetCode
- 682 棒球比赛 — LeetCode
- 696 计数二进制子串 — LeetCode
- 697 数组的度 — LeetCode
- 703 数据流中的第 K 大元素 — LeetCode
- 704 二分查找 — LeetCode
- 707 设计链表 — LeetCode
- 713 乘积小于K的子数组 — LeetCode
- 714 买卖股票的最佳时机含手续费 — LeetCode
- 719 找出第 k 小的距离对 — LeetCode
- 725 分隔链表 — LeetCode
- 739 每日温度 — LeetCode
- 766 托普利茨矩阵 — LeetCode
- 771 宝石与石头 — LeetCode
- 783 二叉搜索树节点最小距离 — LeetCode
- 786 第 K 个最小的素数分数 — LeetCode
- 819 最常见的单词 — LeetCode
- 852 山脉数组的峰顶索引 — LeetCode
- 860 柠檬水找零 — LeetCode
- 876 链表的中间节点 — LeetCode
- 884 两句话中的不常见单词 — LeetCode
- 901 股票价格跨度 — LeetCode
- 908 最小差值 I — LeetCode
- 912 排序数组 — LeetCode
- 914 卡牌分组 — LeetCode
- 922 按奇偶排序数组 II — LeetCode
- 929 独特的电子邮件地址 — LeetCode
- 942 增减字符串匹配 — LeetCode
- 953 验证外星语词典 — LeetCode
- 961 在长度 2N 的数组中找出重复 N 次的元素 — LeetCode
- 976 三角形的最大周长 — LeetCode
- 1005 K 次取反后最大化的数组和 — LeetCode
- 1019 链表中的下一个更大节点 — LeetCode
- 1122 数组的相对排序 — LeetCode
- 1189 “气球” 的最大数量 — LeetCode
- 1201 丑数 III — LeetCode
- 1207 独一无二的出现次数 — LeetCode
- 1323 6 和 9 组成的最大数字 — LeetCode
- 1346 检查整数及其两倍数是否存在 — LeetCode
- 1370 上升下降字符串 — LeetCode
- 1471 数组中的 k 个最强值 — LeetCode
- 1472 设计浏览器历史记录 — LeetCode
- 1669 合并两个链表 — LeetCode
- 1684 统计一致字符串的数目 — LeetCode
- 1721 交换链表中的节点 — LeetCode
- 1748 唯一元素的和 — LeetCode
- 1768 交替合并字符串 — LeetCode
- 2095 删除链表的中间节点 — LeetCode
- 2130 链表最大孪生和 — LeetCode
- 2181 合并零之间的节点 — LeetCode
- 2487 从链表中移除节点 — LeetCode
共 275 道题