后序遍历
_少说话_多做事_
海底月是天上月,眼前人是心上人,向来心是看客心,奈何人是剧中人
展开
-
二叉搜索树的后序遍历序列
问题输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。思路通过本题可以得出先序遍历、中序遍历、后序遍历对于叶子节点的访问都是从左到右后序遍历可以看作 根右子树左子树顺序遍历,然后反过来二叉搜索树给定后续遍历序列,可以确定二叉树利用该性质可以解决本题代码...原创 2022-06-14 22:28:32 · 52 阅读 · 0 评论 -
好叶子节点对的数量
题目给你二叉树的根节点 root 和一个整数 distance 。如果二叉树中两个 叶 节点之间的 最短路径长度 小于或者等于 distance ,那它们就可以构成一组 好叶子节点对 。返回树中 好叶子节点对的数量 。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/number-of-good-leaf-nodes-pairs著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路后序遍历,二叉树直径问题,使用全局变量统计结果注意枚举长度原创 2022-06-04 17:25:16 · 61 阅读 · 0 评论 -
重建二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。思路重点是根据根节点,确定左子树和右子树的长度。根据前序遍历可以确定根节点,根据中序遍历可以确定左右子树的长度,从而确定左子树和右子树的先序遍历和中序遍历序列。程序可看作二叉树的后序遍历。代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * Tr原创 2022-02-17 15:49:48 · 104 阅读 · 0 评论 -
统计最高分的节点数目
题目给你一棵根节点为 0 的 二叉树 ,它总共有 n 个节点,节点编号为 0 到 n - 1 。同时给你一个下标从 0 开始的整数数组 parents 表示这棵树,其中 parents[i] 是节点 i 的父节点。由于节点 0 是根,所以 parents[0] == -1 。一个子树的 大小 为这个子树内节点的数目。每个节点都有一个与之关联的 分数 。求出某个节点分数的方法是,将这个节点和与它相连的边全部 删除 ,剩余部分是若干个 非空 子树,这个节点的 分数 为所有这些子树 大小的乘积 。请你返回有原创 2022-03-13 10:19:29 · 1239 阅读 · 0 评论 -
根据二叉树创建字符串
题目你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。链接:https://leetcode-cn.com/problems/construct-string-from-binary-tree思路由里向外的思路,使用后序遍历的思路(表达式树求值)不应该看到结果序列是先序序列就采用先序遍历,应该采用后序遍历代码/** * Definition for a原创 2022-03-26 16:53:31 · 1010 阅读 · 0 评论 -
相邻字符不同的最长路径
题目给你一棵 树(即一个连通、无向、无环图),根节点是节点 0 ,这棵树由编号从 0 到 n - 1 的 n 个节点组成。用下标从 0 开始、长度为 n 的数组 parent 来表示这棵树,其中 parent[i] 是节点 i 的父节点,由于节点 0 是根节点,所以 parent[0] == -1 。另给你一个字符串 s ,长度也是 n ,其中 s[i] 表示分配给节点 i 的字符。请你找出路径上任意一对相邻节点都没有分配到相同字符的 最长路径 ,并返回该路径的长度。来源:力扣(LeetCode)原创 2022-04-17 21:28:35 · 1123 阅读 · 0 评论