![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
二叉树
小白
山师第一深情
这个作者很懒,什么都没留下…
展开
-
112.路径总和
路径总和(python年度更新系列)给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true解释:等于目标和的根节点到叶节点路径如上图所示。本题采用递归的思想,ta原创 2022-04-19 11:31:19 · 583 阅读 · 0 评论 -
二叉树中的最大路径和
二叉树中的最大路径和(python年度更新系列)路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6本题的主题思路是后续遍历,通过递归查找左右子树的最大原创 2022-04-17 10:54:03 · 184 阅读 · 1 评论 -
反转二叉树
反转二叉树(python年度更新系列)给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]层序遍历,每次将其的孩子结点交换,如此反复即可。class Solution(object): def invertTree(self, root): if root is None: return queue = [root]原创 2022-04-15 11:33:28 · 285 阅读 · 2 评论 -
二叉树的层序遍历||
二叉树的层序遍历||(python年度更新版)示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[15,7],[9,20],[3]]就像之前写的那篇博客一样,这题就是把输出逆置一下,水了水了。链接: 二叉树的层序遍历|.class Solution(object): def levelOrderBottom(self, root): """ :type root: TreeNode :rtype: Lis原创 2022-04-14 16:43:19 · 200 阅读 · 0 评论 -
二叉树的层序遍历
二叉树的层序遍历(python年度更新版)输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]用一个size来记录每一层的节点数,以保证不同层次的结点可以分开for循环中定义的tmp使用完后会重新赋值,也就是重置。class Solution(object): def levelOrder(self, root): res = [] #用于存放最后的结果 queue = [root] whi原创 2022-04-14 16:35:15 · 872 阅读 · 0 评论 -
中序和先序遍历恢复二叉树
中序和先序遍历恢复二叉树python(年度更新系列)输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]输出: [3,9,20,null,null,15,7]这种问题的思路直接分三步走:1.通过先序遍历找出根节点:rival = preorder[0];root = TreeNode(rival)mid = inorder.index(rival)实现了找出根结点,并找出其下标index,以便于分割队列。2.分割中序和先序的队列:p原创 2022-04-13 09:51:02 · 1073 阅读 · 0 评论 -
中序和后续遍历恢复二叉树
中序和后序遍历恢复二叉树python(年度更新系列)输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输出:[3,9,20,null,null,15,7]恢复一棵树一般是由中序+后续or先序,便于从队列的头或者尾部直接找出根结点,再利用下标二次划分子树,通过递归去求解问题。class Solution(object): def buildTree(self, inorder, postorder): if len(in原创 2022-04-13 09:13:47 · 720 阅读 · 0 评论