二叉树之迭代法遍历

使用迭代法遍历二叉树 需要用到栈 题目不用看直接写思路 对于先序: 首先把跟结点放到栈里面 然后开始while,退出条件为栈不为空 把根节点对应的val放到数组result中, 然后把top给pop掉 if()如果root->right不为空 push到栈中 if()如果root->left不为空 push到栈中 循环结束后return一个result 注意这里是栈,所以我们先把righr放进入,然后再...

【Leetcode】二叉树基础题思路

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.单值二叉树2.相同的树3.对称二叉树4.另一棵树的子树 1.单值二叉树 单值二叉树是所有节点的值都相同的二叉树。实现这个检查的思路是通过递归方式遍历整棵树,并验证每个节点是否满足单值二叉树的条件 具体来说,递归函数 isUnivalTree 的工作流程如下: 基本情况: 如果当前节点 (root) 为空 (NULL),那么根据单...

二叉树找数左下角值

题目很容易理解:就是找二叉树左下角的值 思路:肯定是使用递归的方法,并且实现的效果是,先到最左边,然后当为叶子结点的时候比较一下当前是否为最大深度,如果是更新最大深度,并且修改结果。如果不是直接return。然后退回一步,去看下一个路口。 根据思路写代码 结束条件是:结点左边和右边都为空,if函数里的内容就是,更新最大深度,修改结果 递归函数先后顺序:先左再右 退回上一个节点路口:在递归函数下面加上de...

数据结构面试常见问题:什么是二叉树?如何进行二叉树的遍历?

二叉树的介绍 二叉树是一种特殊的数据结构,它的每个元素都有零个、一个或两个子元素。这些元素被称为节点,每个节点都有一个值,以及两个指向其子节点的链接。 这种结构就像一个家族树,每个节点都有一个父节点(除了顶部的根节点),以及左右两个子节点。在实际项目中,我们经常会用到二叉树这种数据结构,它在数据存储、搜索等方面都有着广泛的应用。 接下来,我们将深入探讨二叉树的结构,包括节点、父节点、子节点、叶节点、根...

学习笔记-数据结构-树与二叉树(2024-4-22)

递归遍历二叉树 先序遍历: typedef struct BiTNode{ Elemtype data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;void PreOrder(BiTree T){ if(T!=NULL) { vist(T);//访问根节点 PreOrder(T->lchild);//递归遍历左子树 PreOrder(T->...

【leetcode面试经典150题】73. 从中序与后序遍历序列构造二叉树(C++)

【题目描述】 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 【示例一】 输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输出:[3,9,20,null,null,15,7] 【示例二】 输入:inorder = ...

学习笔记-数据结构-树与二叉树(2024-04-23)

线索二叉树 传统的二叉链表存储仅能体现一种父子关系,不能直接得到节点在遍历中的前驱或后继。在含有n个节点的二叉树中,有n+1个空指针。这是因为每个叶节点都有2个空指针,每个度为1的节点都有1个空指针,空指针总数为2n0+n1,又因为n0=n2+1,所以空指针的总数为n0+n1+n2+1=n+1。由此设想利用这些空指针来指向其前驱或后继。 引入线索二叉树正是为了加快查找节点前驱和后继的速度。 规定:若无...

C++数据结构与算法——二叉树公共祖先问题

文章目录 一、236. 二叉树的最近公共祖先二、235. 二叉搜索树的最近公共祖先 一、236. 二叉树的最近公共祖先 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(...

DAY16|104.二叉树的最大深度,111.二叉树的最小深度,222完全二叉树的个数

文章目录 104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的个数 104.二叉树的最大深度 思路: 1、此题有两种求解方式,一种是求根节点的高度,另一种是求二叉树的深度;如果求根节点的高度,则需要从叶子节点开始往上回溯,那么这一题和昨天的"对称二叉树"一题的思想如出一辙,通过后序遍历的思想,借助递归完成; 2、通过求二叉树深度的方式,则需要类似于昨天"二叉树的层级遍历"方式类似,使用...

P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值

题目描述 给定一棵包含 �N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是 �1,�2,⋯��A1​,A2​,⋯AN​,如下图所示: 现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。 注:根的深度是 11。 输入格式 第一行包含一个整数 �N。 第二行包含 �N 个整数 �1,�2,⋯...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.014642(s)
2024-09-17 04:02:00 1726516920