![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
华为OD机试-二叉树
文章平均质量分 70
二叉树
我不会起名字呀
这个作者很懒,什么都没留下…
展开
-
leetcode102.二叉树的层序遍历、华为OD机试(C卷,200分)- 二叉树的广度优先遍历
现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请你输出层序遍历的结果。每个输入文件一行,第一个字符串表示后序遍历结果,第二个字符串表示中序遍历结果。(每串只包含大写字母)有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。1、从中序遍历与后序遍历构造二叉树(leetcode106)2、二叉树的层序遍历(leetcode102)输出仅一行,表示层序遍历的结果,结尾换行。输入 CBEFDA CBAEDF。原创 2024-07-21 22:07:24 · 350 阅读 · 0 评论 -
华为OD机试(C卷,100分)- 计算三叉搜索树的高度
每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。给你一系列数,请按以上规则,按顺序将数插入树中,构建出一棵三叉搜索树,最后输出树的高度。第一行为一个数 N,表示有 N 个数,1 ≤ N ≤ 10000。第二行为 N 个空格分隔的整数,每个数的范围为[1,10000]如果数小于节点的数减去500,则将数插入节点的左子树。如果数大于节点的数加上500,则将数插入节点的右子树。输出树的高度(根节点的高度为1)否则,将数插入节点的中子树。原创 2024-07-21 21:01:42 · 197 阅读 · 0 评论 -
leetcode701.二叉树搜索树的插入操作
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。输入:root = [4,2,7,1,3,null,null,null,null,null,null], val = 5。可以有,也可以没有,但递归函数如果没有返回值的话,实现是比较麻烦的,下面也会给出其具体实现代码。终止条件就是找到遍历的节点为null的时候,就是要插入节点的位置了,并把插入的节点返回。输出:[40,20,60,10,30,50,70,null,null,25]输出:[4,2,7,1,3,5]原创 2024-07-21 20:34:28 · 350 阅读 · 0 评论 -
华为OD机试(C卷,200分)- 二叉树计算
6、递归处理左区间右区间并计算每个节点的childSum,新树的每个节点的值 = 其左右子树的所有节点值之和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。2行整数,第1行表示二叉树的中序遍历,第2行表示二叉树的前序遍历,以空格分割。1行整数,表示求和树的中序遍历,以空格分割。输出 0 3 0 7 0 2 0。2、前序数组第一个元素为根节点。1、前序数组为0,空节点。原创 2024-07-20 16:38:01 · 807 阅读 · 0 评论 -
leetcode106.从中序与后序遍历序列构造二叉树、leetcode105.从前序与中序遍历序列构造二叉树
给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树。示例 1:输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例 2:输入:inorder = [-1], postorder = [-1]输出:[-1]原创 2024-07-20 16:17:03 · 402 阅读 · 0 评论 -
二叉树的前、中、后序遍历(递归法、迭代法)leetcode144/94/145
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[1,2]示例 5:输入:root = [1,null,2]输出:[1,2]原创 2024-07-18 21:37:18 · 441 阅读 · 0 评论 -
二叉树的层序遍历/后序遍历(leetcode104二叉树的最大深度、111二叉树的最小深度)(华为OD悄悄话、数组二叉树)
给定一个二叉树 root ,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。本题可以使用前序(中左右),也可以使用后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数(取决于高度从0开始还是从1开始)原创 2024-06-29 18:13:10 · 1555 阅读 · 1 评论