记录自己在练习算法题过程中的心得总结,以及一些题目的Java版本代码,持续更新
- 2 两数相加
- 61 旋转链表
- 82 删除排序链表中的重复元素 II
- 86 分割链表
- 92 反转链表 II
- 141 环形链表
- 142 环形链表 II
- 143 重排链表
- 147 对链表进行插入排序
- 148 排序链表
- 160 相交链表
- 234 回文链表
- 1 两数之和
- 15 三数之和
- 16 最接近的三数之和
- 18 四数之和
- 31 下一个排列
- 55 跳跃游戏
- 56 合并区间
- 57 插入区间
- 59 螺旋矩阵II
- 73 矩阵置零
- 121 买卖股票的最佳时机
- 268 缺失数字
- 327 区间和的个数(归并排序)
- 349 两个数组的交集
- 384 打乱数组
- 493 翻转对(归并排序)
- 560 和为K的子数组
- 20 有效的括号
- 71 简化路径
- 84 柱状图中最大的矩形(单调栈)
- 225 用队列实现栈
- 232 用栈实现队列
- 503 下一个更大元素 II
- 739 每日温度
- 5614 找出最具竞争力的子序列(单调栈)
- 96 不同的二叉搜索树
- 102 二叉树的层序遍历
- 105 从前序与中序遍历序列构造二叉树
- 106 从中序与后序遍历序列构造二叉树
- 108 将有序数组转换为二叉搜索树
- 109 有序链表转换二叉搜索树
- 112 路径总和
- 114 二叉树展开为链表
- 116 填充每个节点的下一个右侧节点指针
- 117 填充每个节点的下一个右侧节点指针II
- 230 二叉搜索树中第K小的元素
- 257 二叉树的所有路径
- 450 删除二叉搜索树中的节点
- 508 出现次数最多的子树元素和
- 33 搜索旋转排序数组
- 34 在排序数组中查找元素的第一个和最后一个位置
- 69 X的平方根
- 74 搜索二维矩阵
- 81 搜索旋转排序数组 II
- 162 寻找峰值
- 287 寻找重复数
- 11 盛水最多的容器
- 202 快乐数
- 75 颜色分类
- 88 合并两个有序数组
- 167 两数之和 II - 输入有序数组
- 5 最长回文子串
- 32 最长有效括号
- 53 最大子序和
- 62 不同路径
- 63 不同路径II
- 70 爬楼梯
- 72 编辑距离
- 91 解码方法
- 96 不同的二叉搜索树
- 120 三角形最短路径和
- 139 单词拆分
- 152 乘积最大子数组
- 188 买卖股票的最佳时机 IV
- 198 打家劫舍
- 309 最佳买卖股票时机含冷冻期
- 322 零钱兑换
- 343 整数拆分
- 416 分割等和子集(01背包)
- 474 一和零(01背包)
- 494 目标和(01背包)
- 514 自由之路
- 518 零钱兑换II
- 714 买卖股票的最佳时机含手续费
- 1143 最长公共子序列
- 134 加油站
- 252 253 会议室 会议室II
- 435 无重叠区间
- 502 IPO
- 621 任务调度器
- 861 翻转矩阵后的得分
- 1579 保证图可完全遍历(贪心 + 并查集)
- 1663 具有给定数值的最小字符串
- 23 合并K个升序链表
- 95 不同的二叉搜索树 II
- 215 数组中的第K个最大元素
- 241 为运算表达式设计优先级
- 3 无重复字符的最长子串
- 209 长度最小的子数组
- 219 存在重复元素II
- 424 替换后的最长重复字符
- 438 找到字符串中所有字母异位词
- 29 两数相除
- 58 最后一个单词的长度(字符串)
- 128 最长连续序列(哈希表)
- 169 多数元素(哈希表)
- 137 只出现一次的数字II(位运算)
- 172 阶乘后的0(数学)
- 231 2的幂(位运算)
- 258 各位相加
- 260 260.只出现一次的数字 III(位运算)
- 146 LRU缓存机制
- 173 二叉搜索树迭代器
- 381 常数时间复杂度插入、删除和获取随机元素-允许重复