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 个节点,并且返回 ...
随机推荐
- 一、CentOS6.8安装MySQL5.6
一.官网下载rpm安装包 https://dev.mysql.com/downloads/ 版本选中如图中红色框 二.卸载旧mysql 1.检查是否安装有mysql rpm -qa | grep -i ...
- Js 事件表格
- 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(一)
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...
- 【HBase】知识小结+HMaster选举、故障恢复、读写流程
1:什么是HBase HBase是一个高可靠性,高性能,面向列,可伸缩的分布式数据库,提供海量数据存储功能,一个结构化的分布式存储系统,不同于一般的关系型数据库,它适合半结构化和非结构化数据存储. 2 ...
- Linux(二) 系统远程访问
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1. Why?为什么需要远程访问? 人和人之间对话有两种方式,一种是面对面直接交谈,另一种是打电话. 我 ...
- Java实现 LeetCode 763 划分字母区间(暴力)
763. 划分字母区间 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段.返回一个表示每个字符串片段的长度的列表. 示例 1: 输入: S = & ...
- java实现 蓝桥杯 算法提高 盾神与条状项链
问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链.当他准备把项链首尾相接的时候,土方进来了. ...
- java实现扑克牌排列
** 扑克牌排列** 下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程. 操作过程是: 手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,- 如此 ...
- html页面引用video.js播放m3u8格式视频
//head里面的内容,我是采用cdn引用的方式,因为项目太小 <head> <meta charset="utf-8" /> <title>二 ...
- centos7 yum源更新
先进入到yum源文件cd /etc/yum.repo.d/ 1.创建一个repo_bak目录,用于保存系统中原来yum的repo文件. sudo mkdir repo_bak 2.备份yum源文件至 ...