松鼠霖
松鼠霖
全部文章
分类
题解(48)
归档
标签
去牛客网
登录
/
注册
松鼠霖的博客
全部文章
(共48篇)
题解 | #完全二叉树结点数#
第一反应是没读懂题,因为会想到不是从上到下,从左到右遍历所有节点,save在list里,再用len()计算长度即可如下(但是时间复杂度貌似不符合): # class TreeNode: # def __init__(self, x): # self.val = x # ...
二叉树
数学逻辑
2021-09-26
0
305
题解 | #实现二叉树先序,中序和后序遍历#
通过遍历的方式,分别建立 firstSearch() midSearch() lastSearch()来遍历二叉树收集前序,中序,后续, 然后在主函数里面append到一起 # class TreeNode: # def __init__(self, x): # se...
Python3
二叉树
遍历
2021-09-23
0
337
题解 | #对称的二叉树#
对称二叉树的本质首先搞清楚,分三种情况 1.在第二层:pRoot.left = pRoot.right 2.在第三层开始,root1.left == root2.right, root1.right == root2.left # -*- coding:utf-8 -*- # class...
二叉树
递归
2021-09-21
0
277
题解 | #从上往下打印二叉树#
就很简单的想到打印二叉树,然后然后需要两个list, res和queue,一个用来迭代,一个用来保存结果,注意,queue保存的是节点 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # s...
二叉树
遍历
顺序
2021-09-20
0
319
题解 | #顺时针打印矩阵#
首先要有数学逻辑,这种提 每次只取第一行数据,然后再把矩阵逆时针旋转90度 1.不过要注意用extend和append的区别, append是只能一个值一个值,extend可以一次entend进去一个list 2.矩阵转置有三种方法, 可以用...
数学逻辑
矩阵转置
类型转换
ndarray
list
tolist()
np.array()
2021-09-20
0
244
题解 | #剪绳子#
贼牛逼的一道题,用数学思维, 一个整数先把他分成两部分,x+y=n(假设x>=y并且x-y<=1,也就是说x和y非常接近)那么乘积是x*y。然后我们再把这两部分的差放大(x+1)+(y-1)=n(假设x>=y);他们的乘积是(x+1)*(y-1)=x*y-(x-y)-1...
数学逻辑
2021-09-10
0
290
题解 | #矩阵中的路径#
DFS最优遍历,首先很简单能想到 上下左右 分别对应 (x,y) 的加减, 所以代码的大致轮廓我们应该能写出来,就是遍历矩形所有的点,然后从这个点开始往他的4个方向走,因为是二维数组,所以有两个for循环,代码如下 hasPath, 关键代码是DFS这个函数,用到了递...
数学逻辑
递归
[1:]和[1]
递归终止条件
2021-09-09
0
332
题解 | #数据流中的中位数#
正常想到的就是按照逻辑返回,注意 “/”是浮点数除法,但是在此程序中需要整除,所以要用“%”或者“//”, 或者用"/"的话要加上int() 否则会报错:list indices must be integers or slices, not flo...
"/"
"//"
2021-09-09
0
244
题解 | #把二叉树打印成多行#
这道题就非常有意思了,看起来和之前遇到过一个“之”字输出二叉树很相似,但是注意输出格式要是[[8],[6,10],[5,7,9,11]]而不是[[8],[6],[10],[5],[7],[9],[11]] class Solution: # 返回二维列表[[...
二叉树
pop()
ListNode
链表
2021-09-08
0
280
题解 | #二叉树的下一个结点#
仔细观察,可以把中序(DBHEIAFCG)下一结点归为几种类型: 1、有右子树,下一结点是右子树中的最左结点,例如 B,下一结点是 H 2、无右子树,且结点是该结点父结点的左子树,则下一结点是该结点的父结点,例如 H,下一结点是 E 3、无右子树,且结点是该结点父结点的右子树,则一直沿着父结点追朔,...
ListNode
遍历
数学逻辑
链表
二叉树
2021-09-08
0
260
首页
上一页
1
2
3
4
5
下一页
末页