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-NULL转数字
最近做了一个学生成绩表,其中遇到一个小问题 需要统计个门科目的平均成绩,在统计到高等数学时,因为高数没有人考,在成绩表中根本不存在的分数,但是在课程表存在高数科目. 当这两个表内联然后统计分数,这样会 ...
- Oracle阻塞会话源头查找-单机和RAC环境
在写 Oracle session相关数据字典(一) 这篇文章时,提到使用v$session视图的树形查询可以得到Oracle锁树,这样就便于我们找出阻塞会话的源头,但是仅仅可以在单机环境中使用.今 ...
- Java高级特性之集合
Java集合框架 一.Java集合框架概述 1.数组与集合的区别: 1)数组长度不可变化而且无法保存具有映射关系的数据:集合类用于保存数量不确定的数据,以及保存具有映射关系的数据. 2)数组元素既可以 ...
- 01.Django-基础
基础 1. 简介 Django是一个由Python写成的开放源代码的重量级Web应用框架. Django的目的是使常见的Web开发任务,快速和容易 2. 特点 MVC开发模式 内置进行快速web开发所 ...
- [Python基础]007.字符串
字符串 内建操作 字符串长度 大小写变换 去空格或其他 连接字符串 查找替换 分割 判断 内建操作 字符串长度 len 代码 s = 'abcd' print len(s) 大小写变换 lower 小 ...
- 基于nodejs+express+mysql+webstorm+html的 增删改查
一.工具准备 Nodejs框架,WebStorm.Mysql服务.Navicat.此篇文章只讲项目的搭建过程,至于Nodejs,WebStorm.Mysql的下载.安装与配置网上资源很多,请自行查阅, ...
- SRAM电路工作原理
近年来,片上存储器发展迅速,根据国际半导体技术路线图(ITRS),随着超深亚微米制造工艺的成熟和纳米工艺的发展,晶体管特征尺寸进一步缩小,半导体存储器在片上存储器上所占的面积比例也越来越高.接下来宇芯 ...
- 【Linux】yum库的配置
链接–>CentOS7之yum仓库配置
- Java实现 LeetCode 面试题13. 机器人的运动范围(DFS)
面试题13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一格(不能移动 ...
- Java实现 蓝桥杯VIP 算法提高 开灯游戏
算法提高 开灯游戏 时间限制:1.0s 内存限制:256.0MB 问题描述 有9盏灯与9个开关,编号都是1~9. 每个开关能控制若干盏灯,按下一次会改变其控制的灯的状态(亮的变成不亮,不亮变成亮的). ...