树
Hey1213
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
897. 递增顺序查找树
其实题目可以理解为:将给定的前序转化为中序,然后中序写成只有右节点的二叉树 自己的解法就是很朴素的递归 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self...原创 2019-07-16 15:28:45 · 180 阅读 · 0 评论 -
108. 将有序数组转换为二叉搜索树
一个有序数组,转化为高度平衡的二叉搜索树 每个节点的左右两个子树的高度差的绝对值不超过 1 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right...原创 2019-08-22 22:38:46 · 121 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
如题,根据前序与中序遍历序列构造二叉树 整体思路: ① 前序遍历的第一个元素,必然是二叉树的根节点 ② 在中序遍历中找到前序遍历第一个元素的位置 ③ 该位置左边的所有点都是二叉树的左子树元素,该位置右边的所有点都是二叉树的右子树元素 思路一:递归+字典 由整体思路可以构建子函数用于递归,不断求子树的左右子树,直到叶子节点。 代码如下: # Definition for a binary tree ...原创 2019-08-22 22:35:44 · 173 阅读 · 0 评论 -
124. 二叉树中的最大路径和
乍一看这是一道困难题,但可能因为最近做的关于树的题目比较多,所以其实并没有真正意义上觉得特别困难,很多别的类型的中等题感觉比这还要难。 题意:一棵非空二叉树,节点可正可负可为零,求最大路径和 最开始的想法还是递归,其实也有一点动态规划的思想 从根节点开始,依次计算子树包含子树根节点的最大路径和,保证了能够连成一条通路 包含该子树根节点的最大路径和:左子树最大路径和(if>0)+根节点+右子...原创 2019-08-23 15:44:06 · 156 阅读 · 0 评论 -
104. 二叉树的最大深度
如题,求二叉树的最大深度 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def ...原创 2019-08-22 21:28:04 · 129 阅读 · 0 评论 -
103. 二叉树的锯齿形层次遍历
本题跟102很像,就是将二叉树的偶数层逆序输出 我是直接将上一题的结果的偶数层reverse一下 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.ri...原创 2019-08-22 21:25:52 · 142 阅读 · 0 评论 -
102. 二叉树的层次遍历
给定一个二叉树,返回其按层次遍历的节点值,即逐层从左到右访问所有节点 在子函数中传入层数,子树层数+1即可 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # se...原创 2019-08-19 21:01:19 · 110 阅读 · 0 评论 -
101. 对称二叉树
题目描述说,最好是能用递归或迭代做 其实二叉树镜面对称,可以划分为其左子树与右子树对称 而后,比较两棵树是否对称时,相当于比较: ① A子树的左子树与B子树的右子树是否对称 ② A子树的右子树与B子树的左子树是否对称 同时成立则说明两棵树对称 分析到这里,解题就比较简单了 # Definition for a binary tree node. # class TreeNode: # de...原创 2019-08-19 20:31:27 · 135 阅读 · 0 评论 -
109. 有序链表转换二叉搜索树
这道题是将有序链表转化成高度平衡的二叉查找树。 但由于我最开始在服务器那台机器上的网页编辑中写的,出现了一个比较玄学的错误,截图如下: 就算在本地编译器中能跑通,在线上也显示这个错误┓( ´∀` )┏ 百度也没有什么效果 于是晚上用自己的电脑,重新在本地编译器上手打了一遍再提交突然就好了 emmm…Mark一下,可能是一些格式问题吧。 # # Definition for singly-link...原创 2019-07-22 19:11:11 · 173 阅读 · 0 评论 -
116. 填充每个节点的下一个右侧节点指针
给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。 初始情况所有next节点都为null,现在将每层的点加上next指针,如上图 分析思路: 因为给定的树为完美二叉树,所以如果一个点不是叶子节点,就必有左节点和右节点 **结论1:**一个节点如果左节点不为空,则左节点的next必为右节点 因为所有叶子节点都在同一层,因此如果父节点有next节点,且该节点必有next节点 *...原创 2019-08-22 22:48:40 · 119 阅读 · 0 评论
分享