在 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