LeetCode 1. 两数之和(哈希) |
LeetCode 2. 两数相加(单链表反转) |
LeetCode 3. 无重复字符的最长子串(滑动窗口+哈希) |
LeetCode 4. 寻找两个有序数组的中位数(二分查找,难) |
LeetCode 7. 整数反转 |
LeetCode 8. 字符串转换整数 (atoi) |
LeetCode 9. 回文数 |
LeetCode 11. 盛最多水的容器(双指针) |
LeetCode 14. 最长公共前缀 |
LeetCode 15. 三数之和 |
LeetCode 16. 最接近的三数之和(固定左端+滑动窗口) |
LeetCode 17. 电话号码的字母组合(回溯) |
LeetCode 19. 删除链表的倒数第N个节点(双指针) |
LeetCode 20. 有效的括号(栈) |
LeetCode 21. 合并两个有序链表(单链表) |
LeetCode 22. 括号生成(回溯) |
LeetCode 23. 合并K个排序链表(优先队列) |
LeetCode 24. 两两交换链表中的节点(递归+循环) |
LeetCode 26. 删除排序数组中的重复项 |
LeetCode 27. 移除元素 |
LeetCode 29. 两数相除(位运算) |
LeetCode 32. 最长有效括号(栈&DP) |
LeetCode 33. 搜索旋转排序数组(二分查找) |
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置(二分查找) |
LeetCode 35. 搜索插入位置(二分查找) |
LeetCode 36. 有效的数独(哈希) |
LeetCode 39. 组合总和(回溯) |
LeetCode 40. 组合总和 II(排列组合 回溯) |
LeetCode 41. 缺失的第一个正数 |
LeetCode 42. 接雨水(双指针、单调栈) |
LeetCode 43. 字符串相乘(大数乘法) |
LeetCode 45. 跳跃游戏 II(贪心, 难) |
LeetCode 46. 全排列(回溯) |
LeetCode 47. 全排列 II(回溯+搜索剪枝) |
LeetCode 49. 字母异位词分组(哈希) |
LeetCode 50. Pow(x, n)(二分查找) |
LeetCode 53. 最大子序和(动态规划) |
LeetCode 55. 跳跃游戏(贪心) |
LeetCode 56. 合并区间(优先队列) |
LeetCode 59. 螺旋矩阵 II && LeetCode 54. 螺旋矩阵 |
LeetCode 61. 旋转链表 |
LeetCode 62. 不同路径(DP) |
LeetCode 63. 不同路径 II(DP) |
LeetCode 64. 最小路径和(DP) |
LeetCode 67. 二进制求和 |
LeetCode 69. x 的平方根(二分查找) |
LeetCode 70. 爬楼梯(动态规划) |
LeetCode 73. 矩阵置零 |
LeetCode 74. 搜索二维矩阵(二分查找) |
LeetCode 75. 颜色分类(双指针) |
LeetCode 76. 最小覆盖子串(滑动窗口) |
LeetCode 77. 组合(回溯) |
LeetCode 78. 子集(回溯) |
LeetCode 79. 单词搜索(回溯DFS) |
LeetCode 80. 删除排序数组中的重复项 II |
LeetCode 81. 搜索旋转排序数组 II(二分查找) |
LeetCode 82. 删除排序链表中的重复元素 II(链表) |
LeetCode 83. 删除排序链表中的重复元素(链表) |
LeetCode 86. 分隔链表 |
LeetCode 88. 合并两个有序数组 |
LeetCode 89. 格雷编码 |
LeetCode 90. 子集 II(回溯+剪枝) |
LeetCode 92. 反转链表 II(双指针) |
LeetCode 94. 二叉树的中序遍历(中序遍历) |
LeetCode 96. 不同的二叉搜索树(DP) |
LeetCode 98. 验证二叉搜索树(中序遍历) |
LeetCode 99. 恢复二叉搜索树(中序遍历) |
LeetCode 100. 相同的树(二叉树遍历) |
LeetCode 101. 对称二叉树(递归&循环) |
LeetCode 102. 二叉树的层次遍历 |
LeetCode 103. 二叉树的锯齿形层次遍历(BFS / 双栈) |
LeetCode 104. 二叉树的最大深度 |
LeetCode 105. 已知前序&中序 求二叉树 |
LeetCode 106. 已知中序&后序 求二叉树 |
LeetCode 108. 将有序数组转换为二叉搜索树 |
LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归) |
LeetCode 110. 平衡二叉树(二叉树高度) |
LeetCode 111. 二叉树的最小深度 |
LeetCode 112. 路径总和 |
LeetCode 113. 路径总和 II(回溯) |
LeetCode 114. 二叉树展开为链表(递归) |
LeetCode 116. 填充每个节点的下一个右侧节点指针(递归&循环) |
LeetCode 117. 填充每个节点的下一个右侧节点指针 II(递归&循环) |
LeetCode 118. 杨辉三角 |
LeetCode 119. 杨辉三角 II |
LeetCode 120. 三角形最小路径和 |
LeetCode 121. 买卖股票的最佳时机 |
LeetCode 122. 买卖股票的最佳时机 II |
LeetCode 124. 二叉树中的最大路径和(DFS) |
LeetCode 126. 单词接龙 II(图的BFS) |
LeetCode 127. 单词接龙(图的BFS/双向BFS) |
LeetCode 128. 最长连续序列(哈希set) |
LeetCode 129. 求根到叶子节点数字之和(DFS) |
LeetCode 130. 被围绕的区域(图的BFS/DFS) |
LeetCode 131. 分割回文串(回溯) |
LeetCode 133. 克隆图(图的BFS/DFS) |
LeetCode 134. 加油站(贪心) |
LeetCode 136. 只出现一次的数字(异或^) |
LeetCode 137. 只出现一次的数字 II(位运算) |
LeetCode 138. 复制带随机指针的链表(哈希 / 深拷贝) |
LeetCode 139. 单词拆分(DP) |
LeetCode 140. 单词拆分 II(DP+回溯) |
LeetCode 141. 环形链表 |
LeetCode 142. 环形链表 II(链表环的检测) |
LeetCode 143. 重排链表(链表反转+快慢指针) |
LeetCode 144. 二叉树的前序遍历(前序遍历) |
LeetCode 145. 二叉树的后序遍历(后序遍历&总结) |
LeetCode 146. LRU缓存机制(哈希链表) |
LeetCode 147. 对链表进行插入排序(链表) |
LeetCode 148. 排序链表(归并排序) |
LeetCode 149. 直线上最多的点数 |
LeetCode 150. 逆波兰表达式求值(栈) |
LeetCode 151. 翻转字符串里的单词(栈) |
LeetCode 152. 乘积最大子序列(DP) |
LeetCode 153. 寻找旋转排序数组中的最小值(二分查找) |
LeetCode 154. 寻找旋转排序数组中的最小值 II(二分查找) |
LeetCode 155. 最小栈 |
LeetCode 160. 相交链表 |
LeetCode 162. 寻找峰值(二分查找) |
LeetCode 166. 分数到小数(小数除法) |
LeetCode 169. 求众数 |
LeetCode 171. Excel表列序号(26进制转10进制) |
LeetCode 173. 二叉搜索树迭代器(中序遍历) |
LeetCode 179. 最大数(自定义谓词函数(Lambda表达式)排序) |
LeetCode 189. 旋转数组(环形替换) |
LeetCode 198. 打家劫舍(DP) |
LeetCode 199. 二叉树的右视图(DFS & 按层queue) |
LeetCode 200. 岛屿数量(图的遍历) |
LeetCode 202. 快乐数(快慢指针) |
LeetCode 204. 计数质数(质数的倍数不是质数) |
LeetCode 206. 反转链表 |
LeetCode 208. 实现 Trie (前缀树) |
LeetCode 209. 长度最小的子数组(滑动窗口) |
LeetCode 211. 添加与搜索单词 - 数据结构设计(Trie树) |
LeetCode 212. 单词搜索 II(Trie树+DFS) |
LeetCode 213. 打家劫舍 II(DP) |
LeetCode 215. 数组中的第K个最大元素(快速排序) |
LeetCode 216. 组合总和 III(排列组合 回溯) |
LeetCode 217. 存在重复元素(哈希) |
LeetCode 219. 存在重复元素 II(哈希) |
LeetCode 220. 存在重复元素 III(lower_bound) |
LeetCode 221. 最大正方形(DP) |
LeetCode 222. 完全二叉树的节点个数(二分查找) |
LeetCode 225. 用队列实现栈 |
LeetCode 226. 翻转二叉树(DFS & BFS) |
LeetCode 227. 基本计算器 II(栈) |
LeetCode 230. 二叉搜索树中第K小的元素(中序遍历) |
LeetCode 231. 2的幂 && LeetCode 338. 比特位计数(2进制1的个数) |
LeetCode 232. 用栈实现队列(双栈法->队列) |
LeetCode 234. 回文链表(快慢指针+链表反转) |
LeetCode 235. 二叉搜索树的最近公共祖先 |
LeetCode 236. 二叉树的最近公共祖先 |
LeetCode 237. 删除链表中的节点 |
LeetCode 238. 除自身以外数组的乘积 |
LeetCode 239. 滑动窗口最大值(双端队列) |
LeetCode 240. 搜索二维矩阵 II(二分查找 && 分治) |
LeetCode 257. 二叉树的所有路径(DFS) |
LeetCode 260. 只出现一次的数字 III(位运算) |
LeetCode 268. 缺失数字 |
LeetCode 273. 整数转换英文表示 |
LeetCode 279. 完全平方数(DP) |
LeetCode 283. 移动零 |
LeetCode 287. 寻找重复数(BitMap) |
LeetCode 289. 生命游戏(位运算) |
LeetCode 290. 单词规律(哈希) |
LeetCode 292. Nim 游戏 |
LeetCode 295. 数据流的中位数(大小堆) |
LeetCode 297. 二叉树的序列化与反序列化(前序遍历&层序遍历) |
LeetCode 300. 最长上升子序列 |
LeetCode 304. 二维区域和检索 - 矩阵不可变(DP) |
LeetCode 310. 最小高度树(图 聪明的BFS,从外向内包围) |
LeetCode 312. 戳气球(DP,难) |
LeetCode 315. 计算右侧小于当前元素的个数(二叉查找树&二分查找&归并排序逆序数总结) |
LeetCode 318. 最大单词长度乘积(位运算) |
LeetCode 322. 零钱兑换(DP) |
LeetCode 324. 摆动排序 II |
LeetCode 328. 奇偶链表(双指针) |
LeetCode 334. 递增的三元子序列 |
LeetCode 337. 打家劫舍 III(记忆化+递归) |
LeetCode 341. 扁平化嵌套列表迭代器(双栈) |
LeetCode 342. 4的幂(位运算) |
LeetCode 343. 整数拆分(DP) |
LeetCode 344. 反转字符串 |
LeetCode 347. 前 K 个高频元素(哈希/优先队列) |
LeetCode 349. 两个数组的交集(哈希) |
LeetCode 350. 两个数组的交集 II(哈希) |
LeetCode 365. 水壶问题(最大公约数) |
LeetCode 367. 有效的完全平方数(二分查找) |
LeetCode 377. 组合总和 Ⅳ(DP) |
LeetCode 378. 有序矩阵中第K小的元素(二分查找) |
LeetCode 380. 常数时间插入、删除和获取随机元素(哈希+vector) |
LeetCode 382. 链表随机节点(概率) |
LeetCode 384. 打乱数组(rand) |
LeetCode 386. 字典序排数(DFS&循环) |
LeetCode 389. 找不同(位运算) |
LeetCode 392. 判断子序列(双指针&二分查找) |
LeetCode 394. 字符串解码(栈) |
LeetCode 401. 二进制手表 |
LeetCode 403. 青蛙过河(DP) |
LeetCode 404. 左叶子之和(递归) |
LeetCode 413. 等差数列划分(DP) |
LeetCode 414. 第三大的数 |
LeetCode 415. 字符串相加(大数加法) |
LeetCode 421. 数组中两个数的最大异或值(Trie树) |
LeetCode 427. 建立四叉树(递归) |
LeetCode 429. N叉树的层序遍历(queue) |
LeetCode 430. 扁平化多级双向链表(DFS) |
LeetCode 437. 路径总和 III(双重递归) |
LeetCode 442. 数组中重复的数据 |
LeetCode 443. 压缩字符串(双指针) |
LeetCode 448. 找到所有数组中消失的数字 |
[LeetCode 450. 删除二叉搜索树中的节点] |
LeetCode 451. 根据字符出现频率排序(map+优先队列) |
LeetCode 453. 最小移动次数使数组元素相等(数学) |
LeetCode 454. 四数相加 II(哈希) |
LeetCode 455. 分发饼干(贪心) |
LeetCode 459. 重复的子字符串(数学) |
LeetCode 461. 汉明距离(异或^ 与&) |
LeetCode 463. 岛屿的周长 |
LeetCode 475. 供暖器(双指针&二分查找) |
LeetCode 476. 数字的补数(移位 异或^) |
LeetCode 478. 在圆内随机生成点(概率) |
LeetCode 482. 密钥格式化 |
LeetCode 485. 最大连续1的个数 |
LeetCode 493. 翻转对(归并排序) |
LeetCode 494. 目标和(DFS+DP) |
LeetCode 496. 下一个更大元素 I(哈希) |
LeetCode 498. 对角线遍历 |
LeetCode 500. 键盘行 |
LeetCode 501. 二叉搜索树中的众数(中序遍历) |
LeetCode 503. 下一个更大元素 II(栈) |
LeetCode 504. 七进制数(进制转换) |
LeetCode 513. 找树左下角的值(按层遍历 queue) |
LeetCode 515. 在每个树行中找最大值(层序遍历) |
LeetCode 522. 最长特殊序列 II |
LeetCode 523. 连续的子数组和(求余 哈希) |
LeetCode 530. 二叉搜索树的最小绝对差(中序遍历) |
LeetCode 535. TinyURL 的加密与解密(哈希) |
LeetCode 537. 复数乘法 |
LeetCode 538. 把二叉搜索树转换为累加树(逆中序 根右左) |
LeetCode 541. 反转字符串 II |
LeetCode 542. 01 矩阵(BFS && DP) |
LeetCode 543. 二叉树的直径(DFS) |
LeetCode 547. 朋友圈(图的遍历BFS & DFS) |
LeetCode 557. 反转字符串中的单词 III(栈) |
LeetCode 558. 四叉树交集(递归) |
LeetCode 559. N叉树的最大深度 |
LeetCode 561. 数组拆分 I |
LeetCode 563. 二叉树的坡度(DFS) |
LeetCode 572. 另一个树的子树(二叉树迭代器) |
LeetCode 575. 分糖果(set集合去重) |
LeetCode 581. 最短无序连续子数组(排序&单调栈) |
LeetCode 589. N叉树的前序遍历(前序遍历) |
LeetCode 590. N叉树的后序遍历(后序遍历) |
LeetCode 594. 最长和谐子序列(map) |
LeetCode 605. 种花问题 |
LeetCode 606. 根据二叉树创建字符串(递归) |
LeetCode 617. 合并二叉树 |
LeetCode 621. 任务调度器(贪心) |
LeetCode 628. 三个数的最大乘积 |
LeetCode 629. K个逆序对数组(DP) |
LeetCode 637. 二叉树的层平均值(层次遍历queue) |
LeetCode 641. 设计循环双端队列 |
LeetCode 645. 错误的集合 |
LeetCode 646. 最长数对链(区间 贪心) |
LeetCode 648. 单词替换(Trie树) |
LeetCode 652. 寻找重复的子树(DFS) |
LeetCode 653. 两数之和 IV - 输入 BST(二叉搜索树迭代器&双指针) |
LeetCode 654. 最大二叉树(递归) |
LeetCode 655. 输出二叉树(二叉树高度&二叉树遍历) |
LeetCode 657. 机器人能否返回原点 |
LeetCode 658. 找到 K 个最接近的元素(二分查找) |
LeetCode 665. 非递减数列(双指针) |
LeetCode 669. 修剪二叉搜索树 |
LeetCode 671. 二叉树中第二小的节点 |
LeetCode 674. 最长连续递增序列 |
LeetCode677. 键值映射(Trie树) |
LeetCode 686. 重复叠加字符串匹配 |
LeetCode 687. 最长同值路径(二叉树,递归) |
LeetCode 690. 员工的重要性(图的DFS&BFS) |
LeetCode 693. 交替位二进制数(位运算) |
LeetCode 695. 岛屿的最大面积(图的BFS/DFS) |
LeetCode 696. 计数二进制子串 |
LeetCode 700. 二叉搜索树中的搜索 |
LeetCode 701. 二叉搜索树中的插入操作(二叉查找树/插入) |
LeetCode 704. 二分查找 |
LeetCode 707. 设计链表(List) |
LeetCode 709. 转换成小写字母 |
LeetCode 720. 词典中最长的单词(Trie树) |
LeetCode 728. 自除数 |
LeetCode 733. 图像渲染(DFS/BFS) |
LeetCode 739. 每日温度(单调栈) |
LeetCode 744. 寻找比目标字母大的最小字母(二分查找) |
LeetCode 746. 使用最小花费爬楼梯(DP) |
LeetCode 752. 打开转盘锁(图的BFS最短路径) |
LeetCode 754. 到达终点数字(数学推理) |
LeetCode 762. 二进制表示中质数个计算置位 |
LeetCode 763. 划分字母区间 |
LeetCode 765. 情侣牵手(贪心) |
LeetCode 771. 宝石与石头(哈希) |
LeetCode 783. 二叉搜索树结点最小距离(中序遍历) |
LeetCode 784. 字母大小写全排列(位运算&回溯) |
LeetCode 791. 自定义字符串排序(map) |
LeetCode 797. 所有可能的路径(DFS) |
LeetCode 804. 唯一摩尔斯密码词(哈希+set) |
LeetCode 807. 保持城市天际线 |
LeetCode 814. 二叉树剪枝(递归) |
LeetCode 821. 字符的最短距离 |
LeetCode 832. 翻转图像(异或^) |
LeetCode 840. 矩阵中的幻方(数学) |
LeetCode 841. 钥匙和房间(DFS/BFS) |
LeetCode 849. 到最近的人的最大距离 |
LeetCode 852. 山脉数组的峰顶索引(二分查找) |
LeetCode 860. 柠檬水找零(贪心) |
LeetCode 861. 翻转矩阵后的得分(贪心) |
LeetCode 868. 二进制间距(位运算) |
LeetCode 869. 重新排序得到 2 的幂(排序 & 全排列) |
LeetCode 874. 模拟行走机器人(set) |
LeetCode 876. 链表的中间结点(快慢指针) |
LeetCode 887. 鸡蛋掉落(DP,难) |
LeetCode 888. 公平的糖果交换(哈希set) |
LeetCode 889. 已知前序&后序 求二叉树(不唯一) |
LeetCode 890. 查找和替换模式(哈希表) |
LeetCode 892. 三维形体的表面积(数学) |
LeetCode 896. 单调数列 |
LeetCode 897. 递增顺序查找树(中序遍历) |
LeetCode 905. 按奇偶排序数组 |
LeetCode 908. 最小差值 I |
LeetCode 914. 卡牌分组(最大公约数) |
LeetCode 919. 完全二叉树插入器(层序遍历&队列) |
LeetCode 922. 按奇偶排序数组 II(双指针) |
LeetCode 933. 最近的请求次数(queue) |
LeetCode 937. 重新排列日志文件(自定义排序) |
LeetCode 938. 二叉搜索树的范围和(二叉树遍历+搜索剪枝) |
LeetCode 942. 增减字符串匹配 |
LeetCode 944. 删列造序 |
LeetCode 950. 按递增顺序显示卡牌(deque) |
LeetCode 951. 翻转等价二叉树(递归) |
LeetCode 958. 二叉树的完全性检验(层序遍历) |
LeetCode 965. 单值二叉树 |
LeetCode 969. 煎饼排序 |
LeetCode 970. 强整数 |
LeetCode 977. 有序数组的平方 |
LeetCode 979. 在二叉树中分配硬币(DFS) |
LeetCode 980. 不同路径 III(DFS+回溯) |
LeetCode 986. 区间列表的交集 |
LeetCode 989. 数组形式的整数加法 |
LeetCode 993. 二叉树的堂兄弟节点(层序遍历) |
LeetCode 994. 腐烂的橘子(图的BFS) |
LeetCode 997. 找到小镇的法官(图的出度和入度) |
LeetCode 998. 最大二叉树 II |
LeetCode 1002. 查找常用字符(哈希) |
LeetCode 1004. 最大连续1的个数 III(滑动窗口) |
LeetCode 1006. 笨阶乘 |
LeetCode 1008. 先序遍历构造二叉树(已知先序,求二叉搜索树) |
LeetCode 1009. 十进制整数的反码(位运算) |
LeetCode 1010. 总持续时间可被 60 整除的歌曲(哈希) |
LeetCode 1013. 将数组分成和相等的三个部分 |
LeetCode 1014. 最佳观光组合 |
LeetCode 1021. 删除最外层的括号(栈) |
LeetCode 1022. 从根到叶的二进制数之和(递归) |
LeetCode 1028. 从先序遍历还原二叉树(栈) |
LeetCode 1029. 两地调度(贪心) |
LeetCode 1030. 距离顺序排列矩阵单元格(排序&Lambda表达式&BFS) |
LeetCode 1038. 从二叉搜索树到更大和树(逆中序-右根左-降序) |
LeetCode 1042. 不邻接植花(图的数据结构) |
LeetCode 1043. 分隔数组以得到最大和(DP) |
LeetCode 1046. 最后一块石头的重量(priority_queue 堆) |
LeetCode 1047. 删除字符串中的所有相邻重复项(栈) |
LeetCode 1051. 高度检查器 |
LeetCode 1052. 爱生气的书店老板(滑动窗口) |
LeetCode 1071. 字符串的最大公因子(字符串的最大公约数) |
LeetCode 1078. Bigram 分词 |
LeetCode 1079. 活字印刷(全排列回溯) |
LeetCode 1089. 复写零 |
LeetCode 1094. 拼车 |
LeetCode 1103. 分糖果 II |
LeetCode 1104. 二叉树寻路(数学&位运算) |
LeetCode 1108. IP 地址无效化 |
LeetCode 1122. 数组的相对排序 |
LeetCode 1128. 等价多米诺骨牌对的数量(哈希) |
LeetCode 1137. 第 N 个泰波那契数 |
LeetCode 1145. 二叉树着色游戏(计算节点个数) |
LeetCode 1154. 一年中的第几天 |
LeetCode 1160. 拼写单词 |
LeetCode 1161. 最大层内元素和(层序遍历) |
LeetCode 1171. 从链表中删去总和值为零的连续节点(哈希表) |
LeetCode 1172. 餐盘栈(栈 + set) |
LeetCode 1175. 质数排列 |
LeetCode 1184. 公交站间的距离 |
LeetCode 1185. 一周中的第几天 |
LeetCode 1208. 尽可能使字符串相等(滑动窗口) |
LeetCode 1209. 删除字符串中的所有相邻重复项 II(栈) |
LeetCode 1219. 黄金矿工(回溯) |
LeetCode 1237. 找出给定方程的正整数解 |
LeetCode 1252. 奇数值单元格的数目 |
LeetCode 1253. 重构 2 行二进制矩阵(贪心) |
LeetCode 1254. 统计封闭岛屿的数目(图的BFS & DFS) |
LeetCode 1260. 二维网格迁移(二维转一维) |
LeetCode 1261. 在受污染的二叉树中查找元素(树&哈希) |
LeetCode 1262. 可被三整除的最大和(DP) |
LeetCode 1266. 访问所有点的最小时间(数学) |
LeetCode 1275. 找出井字棋的获胜者(位运算) |
LeetCode 5112. 十六进制魔术数字(进制转换) |