/LeetcodeSolution

LeetCode题目-Java解法(持续更新)

Primary LanguageJava

LeetcodeSolution

leetcode题目解法(持续更新)

题号 名称 类型
1 两数之和 array
5 最长回文子串 dynamic programming
6 Z 字形变换 string
8 字符串转换整数 (atoi) string
11 盛最多水的容器 double pointer
15 三数之和 array
16 最接近的三数之和 array
17 电话号码的字母组合 backtracking
22 括号生成 backtracking
24 两两交换链表中的节点 dfs
36 有效的数独 array
40 组合总和 II backtracking
41 缺失的第一个正数 array
42 接雨水 array
43 字符串相乘 math
46 全排列 backtracking
47 全排列 II backtracking
50 Pow(x, n) divide and conquer
51 N皇后 backtracking
52 N皇后 II backtracking
54 螺旋矩阵 array
62 不同路径 dynamic programming
67 二进制求和 bit
70 爬楼梯 dynamic programming
73 矩阵置零 array
75 颜色分类 array
78 子集 array
79 单词搜索 dfs
80 删除排序数组中的重复项 II array
86 分隔链表 linked list
90 子集 II backtracking
93 复原IP地址 backtracking
94 二叉树的中序遍历 tree
98 验证二叉搜索树 tree
102 二叉树的层序遍历 tree
104 二叉树的最大深度 tree
114 二叉树展开为链表 tree
120 三角形最小路径和 dynamic programming
121 买卖股票的最佳时机 greedy
124 二叉树中的最大路径和 tree
134 加油站 greedy
136 只出现一次的数字 bit
143 重排链表 linked list
146 LRU缓存机制 hashtable
148 排序链表 linked list
152 乘积最大子数组 dynamic programming
155 最小栈 design
165 比较版本号 string
169 多数元素 math
175 组合两个表 sql
176 第二高的薪水 sql
183 从不订购的客户 sql
192 统计词频 shell
193 有效电话号码 shell
194 转置文件 shell
195 第十行 shell
196 删除重复的电子邮箱 sql
197 上升的温度 sql
215 数组中的第K个最大元素 array
221 最大正方形 dynamic programming
222 完全二叉树的节点个数 tree
226 翻转二叉树 tree
228 汇总区间 string
235 二叉搜索树的最近公共祖先 tree
238 除自身以外数组的乘积 array
239 滑动窗口最大值 queue
242 有效的字母异位词 hashtable
279 完全平方数 dynamic programming
300 最长上升子序列 find
307 区域和检索 - 数组可修改 array
309 最佳买卖股票时机含冷冻期 dynamic programming
313 超级丑数 math
324 超级丑数 sort
332 零钱兑换 dynamic programming
338 比特位计数 dynamic programming
343 整数拆分 dynamic programming
344 反转字符串 array
349 两个数组的交集 hashtable
350 两个数组的交集 II hashtable
382 链表随机节点 reservoir sampling
392 判断子序列 string
399 除法求值 dfs
409 最长回文串 hashtable
421 数组中两个数的最大异或值 tree
445 两数相加 II linked list
449 序列化和反序列化二叉搜索树 tree
450 删除二叉搜索树中的节点 tree
454 四数相加 II hashtable
461 汉明距离 bit
462 最少移动次数使数组元素相等 II math
481 神奇字符串 double pointer
486 预测赢家 dynamic programming
495 提莫攻击 array
516 最长回文子序列 dynamic programming
526 优美的排列 backtracking
539 最小时间差 string
543 二叉树的直径 tree
547 朋友圈 dfs
553 最优除法 math
560 和为K的子数组 hashtable
565 数组嵌套 array
595 大的国家 sql
596 超过5名学生的课 sql
601 体育馆的人流量 sql
609 在系统中查找重复文件 string
617 合并二叉树 tree
620 有趣的电影 sql
627 交换工资 sql
633 平方数之和 math
638 大礼包 dfs
646 最长数对链 array
648 单词替换 trie
652 寻找重复的子树 tree
655 输出二叉树 tree
667 优美的排列 II array
676 实现一个魔法字典 hashtable
680 验证回文字符串 Ⅱ string
695 岛屿的最大面积 dfs
697 数组的度 array
714 买卖股票的最佳时机含手续费 dynamic programming
718 最长重复子数组 dynamic programming
725 分隔链表 linked list
740 删除与获得点数 dynamic programming
756 金字塔转换矩阵 dfs
763 划分字母区间 double pointer
767 重构字符串 heap
769 最多能完成排序的块 array
781 森林中的兔子 math
805 数组的均值分割 dfs
817 链表组件 linked list
835 图像重叠 array
836 矩形重叠 math
841 钥匙和房间 queue
844 比较含退格的字符串 stack
856 括号的分数 stack
885 螺旋矩阵 III array
925 长按键入 double pointer
931 下降路径最小和 dynamic programming
932 漂亮数组 divide and conquer
941 有效的山脉数组 array
946 验证栈序列 stack
973 最接近原点的 K 个点 sort
976 三角形的最大周长 math
983 最低票价 dynamic programming
991 坏了的计算器 math
1003 检查替换后的词是否有效 string
1013 将数组分成和相等的三个部分 array
1016 子串能表示从 1 到 N 数字的二进制串 string
1025 除数博弈 dynamic programming
1026 节点与其祖先之间的最大差值 tree
1043 分隔数组以得到最大和 dynamic programming
1046 最后一块石头的重量 heap
1071 字符串的最大公因子 math
1089 复写零 double pointer
1103 分糖果 II math
1104 二叉树寻路 tree
1108 IP 地址无效化 string
1110 删点成林 tree
1111 有效括号的嵌套深度 string
1114 按序打印 multithreading
1115 交替打印FooBar multithreading
1122 数组的相对排序 array
1123 最深叶节点的最近公共祖先 tree
1130 叶值的最小代价生成树 dynamic programming
1140 石子游戏 II dfs
1143 最长公共子序列 dynamic programming
1160 拼写单词 array
1207 独一无二的出现次数 hashtable
1227 飞机座位分配概率 math
1233 删除子文件夹 array
1237 找出给定方程的正整数解 weekly contest
1238 循环码排列 weekly contest
1239 串联字符串的最大长度 weekly contest
1243 数组变换 biweekly contest
1244 力扣排行榜 biweekly contest
1245 树的直径 biweekly contest
1247 交换字符使得字符串相同 weekly contest
1249 移除无效的括号 weekly contest
1253 重构 2 行二进制矩阵 weekly contest
1256 加密数字 biweekly contest
1260 二维网格迁移 weekly contest
1261 在受污染的二叉树中查找元素 weekly contest
1262 可被三整除的最大和 weekly contest
1268 搜索推荐系统 weekly contest
1269 停在原地的方案数 weekly contest
1271 十六进制魔术数字 biweekly contest
1272 删除区间 biweekly contest
1277 统计全为 1 的正方形子矩阵 dynamic programming
1286 字母组合迭代器 biweekly contest
1288 删除被覆盖区间 biweekly contest
1290 二进制链表转整数 linked list
1295 统计位数为偶数的数字 array
1302 层数最深叶子节点的和 tree
1313 解压缩编码列表 array
1317 将整数转换为两个无零整数的和 weekly contest
1318 或运算的最小翻转次数 weekly contest
1319 连通网络的操作次数 weekly contest
1337 方阵中战斗力最弱的 K 行 array
1338 数组大小减半 array
1339 分裂二叉树的最大乘积 tree
1342 将数字变成 0 的操作次数 bit
1346 检查整数及其两倍数是否存在 array
1347 制造字母异位词的最小步骤数 string
1348 推文计数 design
1353 最多可以参加的会议数目 greedy
1354 多次求和构造目标数组 greedy
1356 根据数字二进制下 1 的数目排序 sort
1370 上升下降字符串 string
1379 找出克隆二叉树中的相同节点 tree
1380 矩阵中的幸运数 array
1381 设计一个支持增量操作的栈 design
1382 将二叉搜索树变平衡 tree
1383 最大的团队表现值 sort
1395 统计作战单位数 array
1431 拥有最多糖果的孩子 array
1470 重新排列数组 array
1476 子矩形查询 array
1480 一维数组的动态和 array
1486 数组异或操作 bit
1512 好数对的数目 hashtable
1551 使数组中所有元素相等的最小操作数 math
1576 替换所有的问号 string
1637 两点之间不包含任何点的最宽垂直面积 array
1662 检查两个字符串数组是否相等 string
1668 最大重复子字符串 string
1669 合并两个链表 linked list
1672 最富有客户的资产总量 array
1684 统计一致字符串的数目 string
1689 十-二进制数的最少数目 greedy
1720 解码异或后的数组 bit
1763 替换隐藏数字得到的最晚时间 string
1769 移动所有球到每个盒子所需的最小操作数 dynamic programming
1786 交替合并字符串 double pointer