在 LeetCode 上学习的算法和数据结构
LeetCode
在 LeetCode 上学习算法和数据结构。
数组
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 1 | 两数之和 | Java | 数组 哈希表 |
简单 |
| 26 | 删除有序数组中的重复项 | Java | 数组 双指针 |
简单 |
| 27 | 移除元素 | Java | 数组 双指针 |
简单 |
| 35 | 搜索插入位置 | Java | 数组 二分查找 |
简单 |
| 53 | 最大子数组和 | Java | 数组 分治 动态规划 |
简单 |
| 66 | 加一 | Java | 数组 数学 |
简单 |
| 88 | 合并两个有序数组 | Java | 数组 双指针 排序 |
简单 |
| 108 | 将有序数组转换为二叉搜索树 | Java | 数组 二叉搜索树 分治 |
简单 |
| 118 | 杨辉三角 | Java | 数组 动态规划 |
简单 |
| 136 | 只出现一次的数字 | Java | 位运算 数组 |
简单 |
| 169 | 多数元素 | Java | 数组 哈希表 分治 计数 排序 |
简单 |
| 228 | 汇总区间 | Java | 数组 |
简单 |
| 268 | 丢失的数字 | Java | 位运算 数组 哈希表 数学 排序 |
简单 |
| 283 | 移动零 | Java | 位运算 数组 哈希表 数学 排序 |
简单 |
| 303 | 区域和检索 - 数组不可变 | Java | 设计 数组 前缀和 |
简单 |
| 349 | 两个数组的交集 | Java | 数组 哈希表 双指针 二分查找 排序 |
简单 |
| 448 | 找到所有数组中消失的数字 | Java | 数组 哈希表 |
简单 |
链表
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 2 | 两数相加 | Java | 递归 链表 数学 |
中等 |
| 21 | 合并两个有序链表 | Java | 递归 链表 |
简单 |
| 83 | 删除排序链表中的重复元素 | Java | 链表 |
简单 |
| 141 | 环形链表 | Java | 哈希表 链表 双指针 |
简单 |
| 160 | 相交链表 | Java | 哈希表 链表 双指针 |
简单 |
| 203 | 移除链表元素 | Java | 递归 链表 |
简单 |
| 206 | 反转链表 | Java | 递归 链表 |
简单 |
| 234 | 回文链表 | Java | 栈 递归 链表 双指针 |
简单 |
| 237 | 删除链表中的节点 | Java | 链表 |
简单 |
数学
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 7 | 整数反转 | Java | 数学 |
中等 |
| 9 | 回文数 | Java | 数学 |
简单 |
| 29 | 两数相除 | Java | 位运算 数学 |
中等 |
| 69 | x 的平方根 | Java | 数学 二分查找 |
简单 |
| 70 | 爬楼梯 | Java | 记忆化搜索 数学 动态规划 |
简单 |
| 202 | 快乐数 | Java | 哈希表 数学 双指针 |
简单 |
| 231 | 2 的幂 | Java | 位运算 递归 数学 |
简单 |
| 258 | 各位相加 | Java | 数学 数论 模拟 |
简单 |
| 263 | 丑数 | Java | 数学 |
简单 |
| 326 | 3 的幂 | Java | 递归 数学 |
简单 |
| 338 | 比特位计数 | Java | 位运算 动态规划 |
简单 |
| 342 | 4 的幂 | Java | 位运算 递归 数学 |
简单 |
| 367 | 有效的完全平方数 | Java | 数学 二分查找 |
|
| 405 | 数字转换为十六进制数 | Java | 位运算 数学 |
简单 |
| 441 | 排列硬币 | Java | 数学 二分查找 |
简单 |
队列
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 225 | 用队列实现栈 | Java | 栈 设计 队列 |
简单 |
栈
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 155 | 最小栈 | Java | 栈 设计 |
简单 |
| 232 | 用栈实现队列 | Java | 栈 设计 队列 |
简单 |
字符串
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 13 | 罗马数字转整数 | Java | 哈希表 数学 字符串 |
简单 |
| 20 | 有效的括号 | Java | 栈 字符串 |
简单 |
| 28 | 实现 strStr() | Java | 双指针 字符串 字符串匹配 |
简单 |
| 58 | 最后一个单词的长度 | Java | 字符串 |
简单 |
| 67 | 二进制求和 | Java | 位运算 数学 字符串 模拟 |
简单 |
| 125 | 验证回文串 | Java | 双指针 字符串 |
简单 |
| 168 | Excel 表列名称 | Java | 数学 字符串 |
简单 |
| 171 | Excel 表列序号 | Java | 数学 字符串 |
简单 |
| 205 | 同构字符串 | Java | 哈希表 字符串 |
简单 |
| 242 | 有效的字母异位词 | Java | 哈希表 字符串 排序 |
简单 |
| 257 | 二叉树的所有路径 | Java | 树 深度优先搜索 字符串 二叉树 |
简单 |
| 290 | 单词规律 | Java | 哈希表 字符串 |
简单 |
| 344 | 反转字符串 | Java | 递归 双指针 字符串 |
简单 |
| 387 | 字符串中的第一个唯一字符 | Java | 队列 哈希表 字符串 计数 |
简单 |
| 389 | 找不同 | Java | 位运算 哈希表 字符串 排序 |
简单 |
| 392 | 判断子序列 | Java | 双指针 字符串 动态规划 |
简单 |
| 409 | 最长回文串 | Java | 贪心 哈希表 字符串 |
简单 |
| 434 | 字符串中的单词数 | Java | 字符串 |
简单 |
| 459 | 重复的子字符串 | Java | 字符串 字符串匹配 |
简单 |
树
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 94 | 二叉树的中序遍历 | Java | 栈 树 深度优先搜索 二叉树 |
简单 |
| 100 | 相同的树 | Java | 树 深度优先搜索 广度优先搜索 二叉树 |
简单 |
| 101 | 对称二叉树 | Java | 树 深度优先搜索 广度优先搜索 二叉树 |
简单 |
| 104 | 二叉树的最大深度 | Java | 树 深度优先搜索 广度优先搜索 二叉树 |
简单 |
| 110 | 平衡二叉树 | Java | 树 深度优先搜索 二叉树 |
简单 |
| 111 | 二叉树的最小深度 | Java | 树 深度优先搜索 广度优先搜索 二叉树 |
简单 |
| 112 | 路径总和 | Java | 树 深度优先搜索 二叉树 |
简单 |
| 144 | 二叉树的前序遍历 | Java | 栈 树 深度优先搜索 二叉树 |
简单 |
| 145 | 二叉树的后序遍历 | Java | 栈 树 深度优先搜索 二叉树 |
简单 |
| 226 | 翻转二叉树 | Java | 树 深度优先搜索 广度优先搜索 二叉树 |
简单 |
| 235 | 二叉搜索树的最近公共祖先 | Java | 树 深度优先搜索 二叉搜索树 二叉树 |
简单 |
| 404 | 左叶子之和 | Java | 树 深度优先搜索 广度优先搜索 二叉树 |
简单 |
数据库
| 序号 | 题目 | 题解 | 标签 | 难度 |
|---|---|---|---|---|
| 175 | 组合两个表 | MySQL | 数据库 |
简单 |
| 176 | 第二高的薪水 | MySQL | 数据库 |
中等 |
| 177 | 第N高的薪水 | MySQL | 数据库 |
中等 |
| 181 | 超过经理收入的员工 | MySQL | 数据库 |
简单 |
| 182 | 查找重复的电子邮箱 | MySQL | 数据库 |
简单 |
| 183 | 从不订购的客户 | MySQL | 数据库 |
简单 |
| 184 | 部门工资最高的员工 | MySQL | 数据库 |
中等 |
在 LeetCode 上学习的算法和数据结构
http://www.loquy.cn/posts/b091fa12.html