LeetCode 题解目录
前言
本目录将不断更新记录leetcode的刷题日记。
二叉树
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 108 将有序数组转换为二叉搜索树 | 简单 | 树、深度优先搜索 |
| 2 | 538 把二叉搜索树转换为累加树 | 简单 | 树 |
| 3 | 102 二叉树的层序遍历 | 中等 | 树、广度优先搜索、深度优先搜索 |
| 4 | 103 二叉树的锯齿形层次遍历 | 中等 | 栈、树、广度优先搜索 |
| 5 | 111 二叉树的最小深度 | 简单 | 树、深度优先搜索、广度优先搜索 |
| 6 | 543 二叉树的直径 | 简单 | 树 |
| 7 | 101 对称二叉树 | 简单 | 树、深度优先搜索、广度优先搜索 |
| 8 | 617 合并二叉树 | 简单 | 树 |
| 9 | 226 翻转二叉树 | 简单 | 树 |
| 10 | 104 二叉树的最大深度 | 简单 | 树、深度优先搜索 |
| 11 | 437 路径总和 III | 简单 | 树 |
| 12 | 94 二叉树的中序遍历 | 中等 | 栈、树、哈希表 |
| 13 | 114 二叉树展开为链表 | 中等 | 树、深度优先搜索 |
| 14 | 105 从前序与中序遍历序列构造二叉树 | 中等 | 树、深度优先搜索、数组 |
| 15 | 236 二叉树的最近公共祖先 | 中等 | 树 |
数组
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 1 两数之和 | 简单 | 数组、哈希表 |
| 2 | 26 删除排序数组中的重复项 | 简单 | 数组、双指针 |
| 3 | 27 移除元素 | 简单 | 数组、双指针 |
| 4 | 35 搜索插入位置 | 简单 | 数组、二分查找 |
| 5 | 169 多数元素 | 简单 | 位运算、数组、分治算法 |
| 6 | 448 找到所有数组中消失的数字 | 简单 | 数组 |
| 7 | 581 最短无序连续子数组 | 简单 | 数组 |
| 8 | 48 旋转图像 | 中等 | 数组 |
| 9 | 238 除自身以外数组的乘积 | 中等 | 数组 |
| 10 | 11 盛最多水的容器 | 中等 | 数组、双指针 |
| 11 | 1295 统计位数为偶数的数字 | 简单 | 数组 |
| 12 | 4 寻找两个正序数组的中位数 | 困难 | 数组、二分查找、分治算法 |
| 13 | 287 寻找重复数 | 困难 | 数组、双指针、二分查找 |
动态规划
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 198 打家劫舍 | 简单 | 动态规划 |
| 2 | 70 爬楼梯 | 简单 | 动态规划 |
| 3 | 121 买卖股票的最佳时机 | 简单 | 数组、动态规划 |
| 4 | 53 最大子序和 | 简单 | 数组、动态规划、分治算法 |
| 5 | 338 比特位计数 | 简单 | 位运算、动态规划 |
| 6 | 64 最小路径和 | 中等 | 数组、动态规划 |
| 7 | 647 回文子串 | 中等 | 字符串、动态规划 |
| 8 | 62 不同路径 | 中等 | 数组、动态规划 |
| 9 | 96 不同的二叉搜索树 | 中等 | 树、动态规划 |
并发编程
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 1114 按序打印 | 简单 | 多线程 |
| 2 | 1115 交替打印FooBar | 中等 | 多线程 |
| 3 | 1116 打印零与奇偶数 | 中等 | 多线程 |
| 4 | 1117 H2O 生成 | 中等 | 多线程 |
| 5 | 1195 交替打印字符串 | 中等 | 多线程 |
| 6 | 1226 哲学家进餐 | 中等 | 多线程 |
字符串
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 13 罗马数字转整数 | 简单 | 数学、字符串 |
| 2 | 14 最长公共前缀 | 简单 | 字符串 |
| 3 | 20 有效的括号 | 简单 | 栈、字符串 |
| 4 | 38 外观数列 | 简单 | 字符串 |
| 5 | 28 实现 strStr() | 简单 | 字符串、双指针 |
| 6 | 49 字母异位词分组 | 中等 | 字符串、哈希表 |
链表
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 21 合并两个有序链表 | 简单 | 链表 |
| 2 | 206 反转链表 | 简单 | 链表 |
| 3 | 141 环形链表 | 简单 | 链表、双指针 |
| 4 | 160 相交链表 | 简单 | 链表 |
| 5 | 234 回文链表 | 简单 | 链表、双指针 |
| 6 | 148 排序链表 | 中等 | 链表、排序 |
回溯算法
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 46 全排列 | 中等 | 回溯算法 |
| 2 | 22 括号生成 | 中等 | 字符串、回溯算法 |
| 3 | 39 组合总和 | 中等 | 数组、回溯算法 |
| 4 | 78 子集 | 中等 | 位运算、数组、回溯算法 |
数学
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 9 回文数 | 简单 | 数学 |
| 2 | 136 只出现一次的数字 | 简单 | 位运算、哈希表 |
栈
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 739 每日温度 | 简单 | 栈、哈希表 |
| 2 | 215 数组中的第K个最大元素 | 中等 | 堆、分治算法 |
设计
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 155 最小栈 | 简单 | 栈、设计 |
| 2 | 208 实现 Trie (前缀树) | 中等 | 设计、字典数 |
贪心算法
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 1221 分割平衡字符串 | 简单 | 贪心算法、字符串 |
| 2 | 406 根据身高重建队列 | 中等 | 贪心算法 |
堆
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 347 前 K 个高频元素 | 中等 | 堆、哈希表 |
位运算
| 序号 | 标题 | 难度 | 标签 |
|---|---|---|---|
| 1 | 461 汉明距离 | 中等 | 位运算 |
LeetCode 题解目录的更多相关文章
- Leetcode 题解 - 目录
本文从 Leetcode 中精选大概 200 左右的题目,去除了某些繁杂但是没有多少算法思想的题目,同时保留了面试中经常被问到的经典题目. 算法思想 双指针 排序 贪心思想 二分查找 分治 搜索 动态 ...
- 【LeetCode题解】3_无重复字符的最长子串(Longest-Substring-Without-Repeating-Characters)
目录 描述 解法一:暴力枚举法(Time Limit Exceeded) 思路 Java 实现 Python 实现 复杂度分析 解法二:滑动窗口(双指针) 思路 Java 实现 Python 实现 复 ...
- 【LeetCode题解】225_用队列实现栈(Implement-Stack-using-Queues)
目录 描述 解法一:双队列,入快出慢 思路 入栈(push) 出栈(pop) 查看栈顶元素(peek) 是否为空(empty) Java 实现 Python 实现 解法二:双队列,入慢出快 思路 入栈 ...
- 【LeetCode题解】232_用栈实现队列(Implement-Queue-using-Stacks)
目录 描述 解法一:在一个栈中维持所有元素的出队顺序 思路 入队(push) 出队(pop) 查看队首(peek) 是否为空(empty) Java 实现 Python 实现 解法二:一个栈入,一个栈 ...
- 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)
目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...
- 【LeetCode题解】25_k个一组翻转链表(Reverse-Nodes-in-k-Group)
目录 描述 解法一:迭代 思路 Java 实现 Python 实现 复杂度分析 解法二:递归(不满足空间复杂度) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记 ...
- 【LeetCode题解】24_两两交换链表中的节点(Swap-Nodes-in-Pairs)
目录 描述 解法一:迭代 思路 Java 实现 Python 实现 复杂度分析 解法二:递归(不满足空间复杂度要求) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解 ...
- 【LeetCode题解】347_前K个高频元素(Top-K-Frequent-Elements)
目录 描述 解法一:排序算法(不满足时间复杂度要求) Java 实现 Python 实现 复杂度分析 解法二:最小堆 思路 Java 实现 Python 实现 复杂度分析 解法三:桶排序(bucket ...
- 【LeetCode题解】19_删除链表的倒数第N个节点(Remove-Nth-Node-From-End-of-List)
目录 描述 解法:双指针 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以访问我的 github. 描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回 ...
随机推荐
- php实用正则
1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z ...
- 剑指Offer之替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 函数实现: package s ...
- Life In Changsha College- 第四次冲刺
第四次冲刺任务 整体功能实现. 用户故事 用户打开“生活在长大”的界面,选择登录 已注册过则输入用户名和密码直接登录 未注册用户则可选择注册功能,注册成功后登录 登录成功则弹出提示框 进行留言 系统结 ...
- Spring/SpringBoot常用注解总结
转自:[Guide哥] 0.前言 可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用法,掌握搞懂,使 ...
- 【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!
写在前面 Java8之前的日期和时间API,存在一些问题,比如:线程安全的问题,跨年的问题等等.这些问题都在Hava8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大.立志 ...
- Java实现 LeetCode 729 我的日程安排表 I(二叉树)
729. 我的日程安排表 I 实现一个 MyCalendar 类来存放你的日程安排.如果要添加的时间内没有其他安排,则可以存储这个新的日程安排. MyCalendar 有一个 book(int sta ...
- Java实现 LeetCode 581 最短无序连续子数组(从两遍搜索找两个指针)
581. 最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: ...
- Java实现蓝桥杯突击战
突击战 你有n个部下,每个部下需要完成一项任务.第i个部下需要你花Bi分钟交待任务,然后他会立刻独立地. 无间断地执行Ji分钟后完成任务.你需要选择交待任务的顺序, 使得所有任务尽早执行完毕(即最后一 ...
- Java实现 蓝桥杯VIP 算法提高 连接乘积
算法提高 连接乘积 时间限制:1.0s 内存限制:256.0MB 问题描述 192这个数很厉害,用它分别乘以1.2.3,会得到: 192 x 1 = 192 192 x 2 = 384 192 x 3 ...
- Java实现 蓝桥杯 算式最大值
算式最大值 [问题描述] 给定: 1)N个正整数A1, A2, - AN; 2)P个加号+和Q个减号-; (P+Q=N-1) 3)K对括号() 请你使用全部整数.加减号和括号,组成一个合法的算式(A1 ...