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 个节点,并且返回 ...
随机推荐
- mysql Invalid use of group function的解决办法
错误语句:SELECT s.SID, s.Sname, AVG(a.score)FROM student sLEFT JOIN sc a ON s.SID = a.SID WHERE AVG(a.sc ...
- 13.Java连接Redis_Jedis_事务
Jedis事务我们使用JDBC连接Mysql的时候,每次执行sql语句之前,都需要开启事务:在MyBatis中,也需要使用openSession()来获取session事务对象,来进行sql执行.查询 ...
- ATT&CK红队评估实战靶场(一)
靶机下载地址 http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 攻击拓扑如下 0x01环境搭建 配置两卡,仅主机模式192.168.52.0网段模拟内 ...
- 一篇文章,全面掌握Git
版本控制 版本控制就是记录项目文件的历史变化.它为我们查阅日志,回退,协作等方面提供了有力的帮助. 版本控制一般分为集中化版本控制和分布式版本控制. 集中化主要的版本数据都保存服务端. 分布式版本数据 ...
- 动态ip服务器 动态ip服务器的常用连接方式 收藏版
动态ip服务器目前比较常用的是VPS也叫作虚拟机.目前比较小型的vps服务器与普通电脑没什么区别,最大的区别就是用户连接zhidao服务器内的ip是固定不变的.而服务器运行的ip是可以动态的. 实现动 ...
- IC-二进制, 自然数, 有符号数
https://mp.weixin.qq.com/s/9rGs9yN-OvLvEclnDZr87Q 零. 概念和结论 1. 数:概念名,指代物体的多少,即物体的量的概念: 2. 值:概念属性,数的 ...
- js函数prototype属性学习(二)
继续探讨js对象的prototype属性,前面已经看到在创建完一个对象之后,随时都会有一个_proto_属性伴随所有,那么,这个_proto_又是用来干嘛的,面试时问的高大上的原型链又是怎么回事? 拿 ...
- JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...
- CPU efficiency测量标准:DMIPS
DMIPS:Dhrystone Million Instructions executed Per Second ,主要用于测整数计算能力. 1.Dhrystone:是测量处理器运算能力的最常见基 ...
- Java实现 LeetCode 757 设置交集大小至少为2(排序+滑动窗口)
757. 设置交集大小至少为2 一个整数区间 [a, b] ( a < b ) 代表着从 a 到 b 的所有连续整数,包括 a 和 b. 给你一组整数区间intervals,请找到一个最小的集合 ...