董个屁儿
董个屁儿
全部文章
分类
题解(39)
归档
标签
去牛客网
登录
/
注册
董个屁儿的博客
全部文章
(共10篇)
题解 | #二叉搜索树与双向链表#
class Solution: def Convert(self , pRootOfTree ): # write code here if not pRootOfTree: return self.result = ...
Python3
二叉树
2022-04-08
0
229
题解 | #二叉树搜索树的最近公共祖先#
思路:同样可以采取二叉树最近公共祖先的算法 1、深度优先遍历dfs,判断当前节点是否为o1、o2,先找到的必为祖先 2、递归左右子树 左右子树中均分布o1、o2,则公共祖先为当前节点 均在左,则返回左,均在右,则返回右 注意: 此题有一个小坑,由于存在值为0的val,所以不能用not r...
Python3
二叉树
2022-03-28
2
377
题解 | #二叉搜索树的最近公共祖先#
思路:基于二叉搜索树的特点,左边小于根节点,右边大于根节点 1、o1、o2分布在当前节点两边,则当前节点为公共祖先 2、当前节点为o1或o2,当前节点为祖先 3、o1、o2均在当前节点左边,递归查找左子树 4、o1、o2均在当前节点右边,递归查找右子树 class Solution: def...
Python3
二叉树
2022-03-28
0
250
题解 | #序列化二叉树#
思路: 1、序列化当前节点,序列化左、右子树,返回序列化表示 2、基于序列化表示,找出节点值、节点左子树、右子树的序列化表示形式 3、递归建立当前节点,左子树、右子树,然后拼接后返回当前节点 class Solution: def Serialize(self, root): ...
Python3
二叉树
2022-03-28
2
350
题解 | #对称的二叉树#
思路: 1、两棵树p1、p2, p1与p2,p1的左与p2的右,p1的右与p2的左相同,则对称 2、递归判断全部节点 class Solution: def isSymmetrical(self , pRoot: TreeNode) -> bool: # write c...
Python3
二叉树
2022-03-28
0
233
题解 | #判断是不是平衡二叉树#
思路: 1、判断当前节点是否平衡:左右子树高度之差小于等于1 2、递归判断全部节点是否平衡 class Solution: def IsBalanced_Solution(self , pRoot: TreeNode) -> bool: return ...
Python3
二叉树
2022-03-28
0
310
题解 | #重建二叉树#
思路:先序遍历首位为根,然后基于根在中序遍历中拆分左、右子树,依次递归构建 注意: 1、root:1 2、idx:vin[root.val] 3、len(left) = [:idx] 4、len(right) = [idx+1:] class Solution: def reConstruc...
Python3
二叉树
2022-03-28
0
327
题解 | #二叉树中和为某一值的路径(二)#
思路:dfs,遍历过程中记录路径,到达叶子时判断是否满足sum为target,如果满足,记录下来 注意: 1、递归过程中,有个坑,path加入result的时候,要复制path 2、遍历完,返回上层前,要pop掉路径中记录的尾部 3、path += [val]、path.append(val)和pa...
Python3
二叉树
2022-03-27
0
356
题解 | #树的子结构#
思路: 两个函数,主函数,check函数 1、check,递归判断当前节点,左,右节点是否相同 子树结构先为空,则说明子树全部判断完,返回True 子树不为空,主树为空,则说明子树没判断完,主树无节点判断了,返回False 2、主函数,递归check树的当前节点,当前节点左,右子树的情况 cl...
Python3
二叉树
2022-03-27
1
279
题解 | #之字型打印二叉树#
思路:层次遍历,基数层节点翻转 注意: 1、注意每次只处理当前层的节点,而不是遍历que中的全部节点 2、for循环之外为层级别的处理,for循环内部为层内节点级别的处理 3、每处理一个que中的节点,要将其pop,否则处理下一层节点时,还会重复处理 class Solution: def ...
Python3
二叉树
2022-03-27
1
274