Binary Tree
文章平均质量分 65
二叉树
阿飞算法
这个作者很懒,什么都没留下…
展开
-
[LeetCode]965. 单值二叉树
题目965. 单值二叉树965. 单值二叉树如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。 示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false 提示:给定树的节点数范围是 [1, 100]。每个节点的值都是整数,范围为 [0, 99] 。解法方法1:递归public boolean isUniva原创 2022-05-24 07:15:11 · 61 阅读 · 0 评论 -
是真的懂LCA吗?
是真的懂LCA吗?最近公共祖先(LCA|Lowest Common Ancestor)一棵有根的树T。两个节点n1和n2之间的最低共同祖先被定义为T中具有n1和n2作为后代的最低节点(允许一个节点是其自身的后代)。T中n1和n2的LCA是距离根最远的n1和n2的共同祖先。例如,作为确定树中节点对之间距离的过程的一部分,计算最低共同祖先可能是有用的:从n1到n2的距离可以计算为从根到n1的距离,加上从根到n2的距离,减去从根到其最低共同祖先的距离的两倍。方法1:DFS思路:1.leftlef原创 2021-10-28 09:41:15 · 165 阅读 · 0 评论 -
Lowest Common Ancestor in a Binary Tree | Set 2 (Using Parent Pointer)(二叉树的最近公共祖先节点(使用父节点))
Lowest Common Ancestor in a Binary Tree | Set 2 (Using Parent Pointer)(二叉搜索树的最近公共祖先节点(使用父节点))[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jPzyhG7k-1635208191223)(/Users/frankcooper/Library/Application Support/typora-user-images/image-20211025194214158.png)]Inp原创 2021-10-26 08:30:00 · 128 阅读 · 0 评论 -
Lowest Common Ancestor in a Binary Search Tree(二叉搜索树的最近公共祖先节点)
Lowest Common Ancestor in a Binary Search Tree(二叉搜索树的最近公共祖先节点)Input: LCA of 10 and 14Output: 12Explanation: 12 is the closest node to both 10 and 14 which is a ancestor of both the nodes.Input: LCA of 8 and 14Output: 8Explanation: 8 is the close原创 2021-10-25 20:18:31 · 263 阅读 · 0 评论 -
Merge Two Balanced Binary Search Trees(合并两棵平衡二叉搜索树)
Merge Two Balanced Binary Search Trees(合并两棵平衡二叉搜索树)Q:有两棵二叉树,如AVL或红黑树。编写一个函数,将两个给定的平衡BST合并到一个平衡的二叉树中。第一棵树中有m个元素,另一棵树中有n个元素。合并函数为O(m+n)时间复杂度。在以下解决方案中,假设树的大小也作为输入。如果没有给出大小,那么我们可以通过遍历树来获得大小。Solution:方法1(将第一棵树的元素插入第二棵树)逐个获取第一个BST的所有元素,并将它们插入第二个BST。将元素插入自平原创 2021-10-25 19:38:05 · 1241 阅读 · 0 评论 -
Two nodes of a BST are swapped, correct the BST(恢复两个节点被交换的BST)
Two nodes of a BST are swapped, correct the BST(恢复两个节点被交换的BST)Q:BST的两个节点被交换了,修复它:Input Tree: 10 / \ 5 8 / \ 2 20In the above tree, nodes 20 and 8 must be swapped to fix the tree. Following is the output tree原创 2021-10-23 09:51:42 · 145 阅读 · 0 评论 -
A program to check if a binary tree is BST or not(判断一棵树是否是BST)
A program to check if a binary tree is BST or not(判断一棵树是否是BST)Q:二叉搜索树(BST)是一种基于节点的二叉树数据结构,具有以下特性:节点的左子树仅包含小于节点键值的节点。节点的右子树仅包含大于节点键值的节点。左子树和右子树也必须是BST树。根据上述特性,自然得出以下结论:每个节点(树上的节点)都有一个不同的键值。方法1(错误的):下面是一个简单的程序。对于每个节点,检查其左侧节点是否小于该节点,右侧节点是原创 2021-10-23 06:33:33 · 270 阅读 · 0 评论 -
Connect nodes at same level(连接同一层的节点)
Connect nodes at same level(连接同一层的节点)Q:Input Tree A / \ B C / \ \ D E FOutput Tree A--->NULL / \ B-->C-->NULL / \ \ D-->E-->F-->NULL方法1(拓展层序遍历或BFS)参考层序遍历,可以很容易地扩展到连接相同层的节原创 2021-10-21 22:04:29 · 125 阅读 · 0 评论 -
Check if a binary tree is subtree of another binary tree | Set 1(判断一棵二叉树是否是另外一棵二叉树的子树)
Check if a binary tree is subtree of another binary tree | Set 1(判断一棵二叉树是否是另外一棵二叉树的子树)Q:给定两棵二叉树,检查第一棵树是否是第二棵树的子树。树T的子树是一棵树S满足下面的条件:由T中的一个节点和T中的所有子节点组成。与根节点对应的子树是整棵树;与任何其他节点对应的子树称为符合条件的子树。例如,在以下情况下,树S(Tree2)是树T(Tree1)的子树。 Tree 2 10原创 2021-10-21 21:34:26 · 99 阅读 · 0 评论 -
Maximum Depth or Height of a Tree(二叉树的最大高度)
Maximum Depth or Height of a Tree思路 maxDepth()1. If tree is empty then return 02. Else (a) Get the max depth of left subtree recursively i.e., call maxDepth( tree->left-subtree) (a) Get the max depth of right subtree recursive原创 2021-09-27 16:36:57 · 190 阅读 · 0 评论