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高可用篇之MHA集群
1 准备工作 1.1 修改主机名 vim /etc/hosts # 添加对应主机 192.168.28.128 mha1 192.168.28.131 mha2 192.168.28.132 mha3 ...
- Asp.net Identity身份与权限体系设计
1 Identity 介绍 2 授权系统 图1 体系结构 3 自定义 Attribute 自定义 Attribute 继承于 AuthorizeAttribute,AuthorizeAttribute ...
- [PHP学习教程 - 网络]002.$_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]介绍($_SERVER URL Infomation)
引言:在使用原生PHP的时候,对于URL路径的切割,如:域名,查询参数等等的提取,通常绝大多数兄弟会忽略$_SERVER中定义的内置常量的关系,这里为大家讲解一下. 常用的URL请求路径$_SERVE ...
- [工具推荐]003.Tortoisegit使用教程(补充)
前文介绍: 在前文<[工具推荐]003.Tortoisegit使用教程>中详细介绍了如何使用Tortoisegit的使用,但是大家使用后反映一点,就是每次操作都需要输入账号名和 ...
- python 03—字符串分割
字符串分割 例:sentenc = "I am an Englist sentenc" sentence.split() split()把字符串按照空格进行分割,所以得到的结果是 ...
- 获取Class实例的方式与类加载器
1. java.lang.Class: 是反射的源头 2.如何获取Class的实例(3种) 3.关于类的加载器 TestReflection2 package com.aff.reflection ...
- 「MoreThanJava」计算机系统概述
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- Spring boot Sample 007之spring-boot-log4j2
一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 spring boot 整合多环境log4j2 三.步骤 3.1.点击File -> New Project -> ...
- 【SpringMVC】使用三层架构实现登录,注册。(上篇)
构思 界面层 1.jsp [见名知义] failed.jsp-->失败页面,登录.注册失败就跳转至失败页面 index.jsp-->默认生成的界面,没什么用 login.jsp--> ...
- Java实现 LeetCode 125 验证回文串
125. 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, ...