松鼠霖
松鼠霖
全部文章
分类
题解(48)
归档
标签
去牛客网
登录
/
注册
松鼠霖的博客
全部文章
(共8篇)
题解 | #对称的二叉树#
对称二叉树的本质首先搞清楚,分三种情况 1.在第二层:pRoot.left = pRoot.right 2.在第三层开始,root1.left == root2.right, root1.right == root2.left # -*- coding:utf-8 -*- # class...
二叉树
递归
2021-09-21
0
280
题解 | #矩阵中的路径#
DFS最优遍历,首先很简单能想到 上下左右 分别对应 (x,y) 的加减, 所以代码的大致轮廓我们应该能写出来,就是遍历矩形所有的点,然后从这个点开始往他的4个方向走,因为是二维数组,所以有两个for循环,代码如下 hasPath, 关键代码是DFS这个函数,用到了递...
数学逻辑
递归
[1:]和[1]
递归终止条件
2021-09-09
0
335
题解 | #矩形覆盖#
其实找规律可以找出就是斐波那契数列,f[n] = f[n-1] + f[n-2],初始条件f[0] = 0, f[1] = 1, f[2] =2 # -*- coding:utf-8 -*- class Solution: def rectCover...
斐波那契数列,
递归
数学逻辑
2021-09-03
0
384
题解 | #平衡二叉树#
想到要涉及到树的deepth,立刻想到了上一节做过的计算树的最大深度的函数 return max(self.depth(pRoot.left), self.depth(pRoot.right)) + 1, 此刻可以调用 算法流程: 通过比较每个节点的左右子树的最大高度差, ...
二叉树
深度
递归
2021-08-30
0
253
题解 | #二叉树的深度#
算法流程: 本质上是对树作后序遍历 每次递归每个节点 root 的左右子树,并且只得到左右子树中较大的子树深度。 当前节点 root 左右子树递归到叶子节点后,root == null,递归开始自底...
二叉树
递归
2021-08-30
0
274
题解 | #二叉树的镜像#
其实就是递归的思想, 解题步骤: 1、特判:如果pRoot为空,返回空 2、交换左右子树 3、把pRoot的左子树放到Mirror中镜像一下 4、把pRoot的右子树放到Mirror中镜像一下 5、返回根节点root class Solution: &...
递归
数值交换
二叉树
2021-08-27
0
283
题解 | #跳台阶扩展问题#
类似基础跳台阶问题 设f[i] 表示 当前跳道第 i 个台阶的方法数。那么f[n]就是所求答案。 假设现在已经跳到了第 n 个台阶,那么前一步可以从哪些台阶到达呢? 如果上一步跳 1 步到达第 n 个台阶,说明上一步在第 n-1 个台阶。已知跳到第n-1个台阶的方法数为f[n-1]...
递归
斐波那契数列,
数学逻辑
2021-08-22
0
304
题解 | #跳台阶#
这个其实和斐波那契数列一样,就是 假设f[i]表示在第i个台阶上可能的方法数。逆向思维。如果我从第n个台阶进行下台阶((跳到n-1的方法数为f(n))),下一步有2中可能,一种走到第n-1个台阶(跳到n-1的方法数为f(n-1)),一种是走到第n-2个台阶(跳到n-1的方法数为f(n-2)),...
斐波那契数列,
递归
数学逻辑
2021-08-22
0
256