首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
LeetCode小记
terryli
创建于2023-04-11
订阅专栏
佛系刷题的Writeup
暂无订阅
共135篇文章
创建于2023-04-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
[LeetCode] 104. 二叉树的最大深度
104. 二叉树的最大深度 思路 二叉树分左子树和右子树,我们只要计算左右子树中深度比较大的那个作为结果返回即可 很明显是DFS递归求解向下走一层,深度+1 递归终止条件为,节点为None表示到了根节
[LeetCode] 106. 从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树 思路 首先,要理解中序与后序的遍历区别: 中序:前-中-后 后序:前-后-中 构造一棵树的话,我们必须要确定根节点,然后确定左子树的元素和右子树的元素。同理,
[LeetCode] 108. 将有序数组转换为二叉搜索树
108. 将有序数组转换为二叉搜索树 思路 思路其实很简单,明显的递归题 BST 是左树小右树大的特点 数组是已经排序好的,那中间的数就作为节点的数值,这样分为左右两部分,分别对应左树和右树 左右两部
[LeetCode] 110. 平衡二叉树
110. 平衡二叉树 思路 左子树的高度是左边最深节点的深度,右边也是一样 使用DFS遍历左树和右树,如果左右树直接的高度超过1,就记录下来,说明是失败的 最终遍历结果,如果结果中有失败节点,返回Fa
[LeetCode] 111. 二叉树的最小深度
111. 二叉树的最小深度 思路 求最小的深度,那我们自然想到使用层序遍历,使用广度优先算法。 碰到第一个没有子元素的节点,说明是就是最近的子节点。 每向下走一层,记录一下层号。 没有子节点,结束遍历
[LeetCode] 112. 路径总和
112. 路径总和 思路 首先阅读理解,我们需要寻找出一条路径使这个路径的和等于sum 一眼就是使用DFS来遍历二叉树,然后同时得到路径的和与sum做比较。我们可以初始给sum,然后向下遍历的过程中逐
[LeetCode] 117. 填充每个节点的下一个右侧节点指针 II
117. 填充每个节点的下一个右侧节点指针 II 思路 首先,我们想到如果要操作二叉树中的每一个一点,必须要遍历这整个二叉树。两种方式:BFS、DFS 题目要求我们同行的节点串联起来,这边肯定需要使用
[LeetCode] 120. 三角形最小路径和
120. 三角形最小路径和 思路 这道题和路径问题非常相似,思路和路径问题也是一样的。只不多二维数组换成了三角形。 直接梭了,AC! 代码 python3 从下向上DP 从下向上考察的话,对于上一个节
[LeetCode] 124. 二叉树中的最大路径和
124. 二叉树中的最大路径和 思路 先进行阅读理解 从一个节点出发,走到另一个节点。返回这个路径的和的最大值。最少节点个数为一个,也就是说单独的一个节点的数值也可以作为结果。 但是要注意的点是,我们
[LeetCode] 125. 验证回文串
125. 验证回文串 思路 方法一(暴力) 首先想到的方法是,将原字符串处理一遍。只取数字和字母。统一转换成小写字母,最后判断处理之后字符串是不是回文串 尝试写一下代码,AC! 代码 python3
[LeetCode] 126. 单词接龙 II
126. 单词接龙 II 思路 基于Hard必死原则,没有什么思路。罢了,阅读大佬文档获取思路。 只有一个字母不同的单词,路组成相邻的节点 相邻的节点运动,就是每一步都变换一个字母 beginWord
[LeetCode] 130. 被围绕的区域
130. 被围绕的区域 思路 看到这道题,感觉有点像岛屿数量。X是海洋的话,海洋中间的岛屿会沉。碰到边界的岛屿不会沉没。 使用染色法,从边界的点作为起点出发,如果是岛屿的话,就找上下左右四个方向上,连
[LeetCode] 139. 单词拆分
139. 单词拆分 思路 这道之前已经提交过一次,但是现在碰到,又是没啥印象,要重新分析。这也是我做刷题笔记的理由之一:加深记忆、方便review 分析题目: 我先想到的方法是,使用一个指针i去遍历字
[LeetCode] 145. 二叉树的后序遍历
145. 二叉树的后序遍历 思路 这道题的难度感觉定的有点高了 二叉树的DFS遍历顺序可以分为三种: * 前序: 中-左-右 * 中序: 左-中-右 * 后序: 左-右-中 这个是二叉树遍历的基础知识
[LeetCode] 166. 分数到小数
166. 分数到小数 思路 阅题,第一反应先计算出小数,看了眼实例,有限小数没问题,无限小数这种方式做不到。 假如说把保留小数位数拉长呢?比如,1.66666667,6个数超过10个把他处理成循环主体
[LeetCode] 167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 方法一(二分搜索) 思路 应为是有序的数列,我们可以使用二分搜索寻找目标值 遍历数组,对于当前元素,我们只需要在当前元素之后的元素中寻找值为target-c
[LeetCode] 171. Excel表列序号
171. Excel表列序号 思路 代码 python3A->1 Z->26 ord(A)->65 ord(Z)->90 题目转换成一个26进制的数10进制的值
[LeetCode] 174. 地下城游戏
174. 地下城游戏 方法一(记忆化递归) 思路 这种题目第一眼感觉是可以用动态规划来做。很多dp我们可以先使用递归的思考方式先做,然后转换成bottom-up的动态规划比较方便 先使用递归方法思考问
[LeetCode] 198. 打家劫舍
198. 打家劫舍 思路 先审题,一般题目问最大的金额,最多的路径,解的个数之类的问题,很多情况是考察动态规划。抛开已有认知,还是先分析题目。 第一次选择,可以选任意 第二次选择,不能选择相邻位置 这
[LeetCode] 207. 课程表
207. 课程表 思路 前置知识 拓扑排序 什么是拓扑排序? 拓扑排序,是有向无环图(DAG)的所有顶点的线性序列 只有DAG(有向无环图)有拓扑排序 解题思路 题目可以转换为,判断有向图中是否存在环
下一页