Leetcode-Java实现,记录易理解或最优的解法
此仓库会频繁更新,推荐 star
或 watch
以即时得到更新通知
刷就完事
- 二分搜索
- 1095.山脉数组中查找目标值.md
- 153.寻找旋转排序数组中的最小值.md
- 162.寻找峰值.md
- 275.H指数II.md
- 278.第一个错误的版本.md
- 29.两数相除.md
- 300.最长递增子序列.md
- 33.搜索旋转排序数组.md
- 34.在排序数组中查找元素的第一个和最后一个位置.md
- 35.搜索插入位置.md
- 354.俄罗斯套娃信封问题.md
- 367.有效的完全平方数.md
- 374.猜数字大小.md
- 378.有序矩阵中第K小的元素.md
- 4.寻找两个正序数组的中位数.md
- 50.Pow(x,n).md
- 69.x的平方根.md
- 704.二分查找.md
- 81.搜索旋转排序数组II.md
- 二叉树
- 100.相同的树.md
- 101.对称二叉树.md
- 102.二叉树的层序遍历.md
- 103.二叉树的锯齿形层次遍历.md
- 104.二叉树的最大深度.md
- 105.从前序与中序遍历序列构造二叉树.md
- 106.从中序与后序遍历序列构造二叉树.md
- 107.二叉树的层次遍历II.md
- 108.将有序数组转换为二叉搜索树.md
- 109.有序链表转换二叉搜索树.md
- 110.平衡二叉树.md
- 111.二叉树的最小深度.md
- 112.路径总和.md
- 113.路径总和II.md
- 114.二叉树展开为链表.md
- 116.填充每个节点的下一个右侧节点指针.md
- 117.填充每个节点的下一个右侧节点指针II.md
- 124.二叉树中的最大路径和.md
- 129.求根到叶子节点数字之和.md
- 144.二叉树的前序遍历.md
- 145.二叉树的后序遍历.md
- 156.上下翻转二叉树.md
- 173.二叉搜索树迭代器.md
- 199.二叉树的右视图.md
- 211.添加与搜索单词.数据结构设计.md
- 222.完全二叉树的节点个数.md
- 226.翻转二叉树.md
- 230.二叉搜索树中第K小的元素.md
- 235.二叉搜索树的最近公共祖先.md
- 236.二叉树的最近公共祖先.md
- 257.二叉树的所有路径.md
- 297.二叉树的序列化与反序列化.md
- 331.验证二叉树的前序序列化.md
- 337.打家劫舍III.md
- 365.水壶问题.md
- 450.删除二叉搜索树中的节点.md
- 543.二叉树的直径.md
- 572.另一个树的子树.md
- 700.二叉搜索树中的搜索.md
- 820.单词的压缩编码.md
- 94.二叉树的中序遍历.md
- 95.不同的二叉搜索树II.md
- 958.二叉树的完全性检验.md
- 96.不同的二叉搜索树.md
- 98.验证二叉搜索树.md
- 99.恢复二叉搜索树.md
- 位运算
- 前缀和
- 动态规划
- 10.正则表达式匹配.md
- 1014.最佳观光组合.md
- 1143.最长公共子序列.md
- 115.不同的子序列.md
- 121.买卖股票的最佳时机.md
- 122.买卖股票的最佳时机II.md
- 123.买卖股票的最佳时机III.md
- 132.分割回文串II.md
- 139.单词拆分.md
- 1477.找两个和为目标值且不重叠的子数组.md
- 152.乘积最大子数组.md
- 174.地下城游戏.md
- 188.买卖股票的最佳时机IV.md
- 198.打家劫舍.md
- 213.打家劫舍II.md
- 221.最大正方形.md
- [279. 完全平方数.md](/动态规划/279. 完全平方数.md)
- 300.最长上升子序列.md
- 309.最佳买卖股票时机含冷冻期.md
- 312.戳气球.md
- 337.打家劫舍III.md
- 338.比特位计数.md
- 343.整数拆分.md
- 354.俄罗斯套娃信封问题.md
- 357.计算各个位数不同的数字个数.md
- 368.最大整除子集.md
- 375.猜数字大小II.md
- 376.摆动序列.md
- 377.组合总和Ⅳ.md
- 403.青蛙过河.md
- 416.分割等和子集.md
- 42.接雨水.md
- 44.通配符匹配.md
- 5.最长回文子串.md
- 518.零钱兑换II.md
- 53.最大子序和.md
- 62.不同路径.md
- 63.不同路径II.md
- 64.最小路径和.md
- 70.爬楼梯.md
- 714.买卖股票的最佳时机含手续费.md
- 718.最长重复子数组.md
- 72.编辑距离.md
- 837.新21点.md
- 85.最大矩形.md
- 887.鸡蛋掉落.md
- 91.解码方法.md
- 96.不同的二叉搜索树.md
- 97.交错字符串.md
- 最长递增子序列.md
- 单调栈
- 双指针
- 11.盛最多水的容器.md
- 1248.统计「优美子数组」.md
- 143.重排链表.md
- 1477.找两个和为目标值且不重叠的子数组.md
- 148.排序链表.md
- 15.三数之和.md
- 16.最接近的三数之和.md
- 167.两数之和II.输入有序数组.md
- 18.四数之和.md
- 209.长度最小的子数组.md
- 234.回文链表.md
- 263.丑数.md
- 264.丑数II.md
- 287.寻找重复数.md
- 313.超级丑数.md
- 344.反转字符串.md
- 350.两个数组的交集II.md
- 424.替换后的最长重复字符.md
- 75.颜色分类.md
- 76.最小覆盖子串.md
- 876.链表的中间结点.md
- 881.救生艇.md
- 面试题10.01.合并排序的数组.md
- 哈希表
- 回溯法
- 131.分割回文串.md
- 140.单词拆分II.md
- 17.电话号码的字母组合.md
- 211.添加与搜索单词.数据结构设计.md
- 216.组合总和III.md
- 22.括号生成.md
- 306.累加数.md
- 337.打家劫舍III.md
- 351.安卓系统手势解锁.md
- 386.字典序排数.md
- 39.组合总和.md
- 40.组合总和II.md
- 416.分割等和子集.md
- 46.全排列.md
- 47.全排列II.md
- 473.火柴拼正方形.md
- 491.递增子序列.md
- 51.N皇后.md
- 52.N皇后II.md
- 698.划分为k个相等的子集.md
- 77.组合.md
- 78.子集.md
- 842.将数组拆分成斐波那契序列.md
- 89.格雷编码.md
- 90.子集II.md
- 93.复原IP地址.md
- 图
- 字符串
- 1081.不同字符的最小子序列.md
- 1160.拼写单词.md
- 125.验证回文串.md
- 126.单词接龙II.md
- 127.单词接龙.md
- 14.最长公共前缀.md
- 151.翻转字符串里的单词.md
- 165.比较版本号.md
- 168.Excel表列名称.md
- 171.Excel表列序号.md
- 187.重复的DNA序列.md
- 20.有效的括号.md
- 205.同构字符串.md
- 208.实现Trie(前缀树).md
- 211.添加与搜索单词.数据结构设计.md
- 212.单词搜索II.md
- 214.最短回文串.md
- 224.基本计算器.md
- 228.汇总区间.md
- 233.数字1的个数.md
- 242.有效的字母异位词.md
- 28.实现strStr().md
- 3.无重复字符的最长子串.md
- 30.串联所有单词的子串.md
- 316.去除重复字母.md
- 318.最大单词长度乘积.md
- 32.最长有效括号.md
- 38.外观数列.md
- 394.字符串解码.md
- 395.至少有K个重复字符的最长子串.md
- 402.移掉K位数字.md
- 409.最长回文串.md
- 415.字符串相加.md
- 43.字符串相乘.md
- 541.反转字符串II.md
- 557.反转字符串中的单词III.md
- 58.最后一个单词的长度.md
- 6.Z字形变换.md
- 67.二进制求和.md
- 680.验证回文字符串Ⅱ.md
- 71.简化路径.md
- 76.最小覆盖子串.md
- 8.字符串转换整数(atoi).md
- 并查集
- 广度优先搜索
- 排序
- 数学
- 12.整数转罗马数字.md
- 13.罗马数字转整数.md
- 1300.转变数组后最接近目标值的数组和.md
- 172.阶乘后的零.md
- 204.计数质数.md
- 258.各位相加.md
- 263.丑数.md
- 264.丑数II.md
- 268.缺失数字.md
- 292.Nim游戏.md
- 31.下一个排列.md
- 313.超级丑数.md
- 326.3的幂.md
- 342.4的幂.md
- 357.计算各个位数不同的数字个数.md
- 384.打乱数组.md
- 41.缺失的第一个正数.md
- 440.字典序的第K小数字.md
- 442.数组中重复的数据.md
- 448.找到所有数组中消失的数字.md
- 470.用Rand7()实现Rand10().md
- 556.下一个更大元素III.md
- 60.第k个排列.md
- 670.最大交换.md
- 7.整数反转.md
- 836.矩形重叠.md
- 892.三维形体的表面积.md
- 9.回文数.md
- 914.卡牌分组.md
- 数组
- 1014.最佳观光组合.md
- 118.杨辉三角.md
- 119.杨辉三角II.md
- 120.三角形最小路径和.md
- 1300.转变数组后最接近目标值的数组和.md
- 1371.每个元音包含偶数次的最长子字符串.md
- 1431.拥有最多糖果的孩子.md
- 150.逆波兰表达式求值.md
- 164.最大间距.md
- 169.多数元素.md
- 189.旋转数组.md
- 215.数组中的第K个最大元素.md
- 224.基本计算器.md
- 229.求众数II.md
- 238.除自身以外数组的乘积.md
- 239.滑动窗口最大值.md
- 240.搜索二维矩阵II.md
- 26.删除排序数组中的重复项.md
- 268.缺失数字.md
- 27.移除元素.md
- 274.H指数.md
- 283.移动零.md
- 287.寻找重复数.md
- 289.生命游戏.md
- 303.区域和检索-数组不可变.md
- 304.二维区域和检索-矩阵不可变.md
- 307.区域和检索-数组可修改.md
- 31.下一个排列.md
- 315.计算右侧小于当前元素的个数.md
- 327.区间和的个数.md
- 349.两个数组的交集.md
- 350.两个数组的交集II.md
- 378.有序矩阵中第K小的元素.md
- 41.缺失的第一个正数.md
- 435.无重叠区间.md
- 442.数组中重复的数据.md
- 448.找到所有数组中消失的数字.md
- 48.旋转图像.md
- 493.翻转对.md
- 54.螺旋矩阵.md
- 56.合并区间.md
- 560.和为K的子数组.md
- 57.插入区间.md
- 59.螺旋矩阵II.md
- 66.加一.md
- 670.最大交换.md
- 73.矩阵置零.md
- 739.每日温度.md
- 74.搜索二维矩阵.md
- 795.区间子数组个数.md
- 80.删除排序数组中的重复项II.md
- 84.柱状图中最大的矩形.md
- 862.和至少为K的最短子数组.md
- 88.合并两个有序数组.md
- 881.救生艇.md
- 974.和可被K整除的子数组.md
- 999.可以被一步捕获的棋子数.md
- 面试题10.01.合并排序的数组.md
- 设计
- 贪心
- 链表
- 138.复制带随机指针的链表.md
- 141.环形链表.md
- 142.环形链表II.md
- 143.重排链表.md
- 147.对链表进行插入排序.md
- 148.排序链表.md
- 160.相交链表.md
- 19.删除链表的倒数第N个节点.md
- 2.两数相加.md
- 203.移除链表元素.md
- 206.反转链表.md
- 21.合并两个有序链表.md
- 23.合并K个排序链表.md
- 234.回文链表.md
- 237.删除链表中的节点.md
- 24.两两交换链表中的节点.md
- 25.K个一组翻转链表.md
- 328.奇偶链表.md
- 445.两数相加II.md
- 61.旋转链表.md
- 82.删除排序链表中的重复元素II.md
- 83.删除排序链表中的重复元素.md
- 86.分隔链表.md
- 92.反转链表II.md
- 面试题02.05.链表求和.md