![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 79
不思则罔i
计算机硕士
游戏开发行业
展开
-
二叉树的最近公共祖先问题
树的最近公共祖先以二叉树为例struct TreeNode{ int val; TreeNode* left; TreeNode* right;};二叉搜索树的最近公共祖先描述: 给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖。假设两指定节点在树中存在,且树中各节点值唯一。思路: 直观的先以根节点考虑,如果根节点的值比两节点都大,向左子树遍历...原创 2019-08-06 19:10:14 · 1116 阅读 · 0 评论 -
树的深度相关题目
树的深度相关题目以二叉树为例:struct TreeNode{ int val; TreeNode* left; TreeNode* right;};二叉树的深度思路:对于根节点来说,就是左右子树中最深的加一。递归的来说,对于当前节点的深度,是其左右子树的最大深度加一,递归边界为(-1),考虑叶节点深度为1,所以空节点为0,即递归边界为0。代码:int ...原创 2019-08-06 19:11:44 · 214 阅读 · 0 评论 -
比较树的节点的相关题目
比较树的节点的相关题目struct TreeNode{ int val; TreeNode* left; TreeNode* right; //构造函数最好写成初始化列表的形式 TreeNode(int x):val(x),left(NULL),right(NULL){}};相同的树描述:给定两个二叉树,判断树的结构和对应节点值是否相同思路:...原创 2019-08-06 19:13:26 · 464 阅读 · 0 评论 -
关于树的前中后序遍历的一些思路
树的前中后序遍历(迭代)struct TreeNode{ int val; TreeNode* left; TreeNode* right;};中序遍历(迭代法)关键点:非递归遍历要用到栈。先遍历左子树,再访问根节点,最后遍历右子树,其中的转换遍历方向的条件是遍历节点为空(注意区分访问和遍历两个动词)。左->根->右,方便记忆代码。想...原创 2019-08-06 19:15:14 · 1453 阅读 · 0 评论