题意描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路 一、暴力解决 分析 可能在二叉树的所有位置,逐个进行分析。 1. 若node的右子树不为空,中序遍历的下一节点是右子树的最左节点。 2. 若no ...
分类:
其他好文 时间:
2020-03-14 23:43:15
阅读次数:
49
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路一:最简单的方法 递归判断左右子树 public class Solution { boolean isSymmetrical(TreeNode pRoot) { if(pR ...
分类:
其他好文 时间:
2020-03-12 10:11:13
阅读次数:
55
"传送门" 对称二叉树 题目描述 一棵有点权的有根树如果满足以下条件,则被轩轩称为对称二叉树: 1. 二叉树; 1. 将这棵树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等。 下图中节点内的数字为权值,节点外的 $id$ 表示节点编号。 现在给出一棵二叉树,希望你找出它的一棵子树,该 ...
分类:
其他好文 时间:
2020-03-10 01:28:39
阅读次数:
53
解题思路: 1、建二叉树(静态链表) 不作为任何结点的孩子结点的即为根结点 2、判断是否同构 1)空树,同构 2)两棵树中若只有其中一棵是空树,则不同构 3)两棵树的根结点值不等,不同构 4)若左子树均空,则递归判断右子树 5)若左子树均不空, 比较左子树的根结点值 相等:则没有交换左右子树,判断树 ...
分类:
其他好文 时间:
2020-03-08 17:21:07
阅读次数:
90
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 递归思想,如果根节点相同则递归调用match(),如果根节点不相同,则判断 的左子树或右子树与 是否相同。 注意节点为空的条件, 中,只要有一棵树树为空就返回 ; 中,要先判断 ,如果 为 ...
分类:
其他好文 时间:
2020-03-06 23:37:49
阅读次数:
72
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路:先在A树中找到与B跟结点相同的那个结点,然后递归开始比较左右子树 public class Solution { public boolean HasSubtree(TreeNode root1,Tre ...
分类:
其他好文 时间:
2020-03-05 20:59:39
阅读次数:
75
1)二叉树:一个节点两条分支。同理,多叉树一个节点多个分支。 2)满二叉树:二叉树的叶子节点只出现在最底层,最底层排满。 3)完全二叉树:二叉树的叶子节点只出现在最底层和倒数第二层。 4)二叉搜索树:节点按一定顺序排放,如左子节点小于父节点,右子节点大于父节点。 5)平衡二叉树:任何节点的左右子树的 ...
分类:
其他好文 时间:
2020-03-03 23:58:56
阅读次数:
116
函数功能: 1、如果p q都存在,返回他们的公共祖先 2、只存在一个,那就返回存在的一个 3、都不存在,返回NULL 递归左右子树,左子树的结果为left1,右子树结果为right1 left1空代表结果(公共祖先)在right1,反之亦然。 如果都非空,说明p q在左右两边,此时要返回根结点。 否 ...
分类:
其他好文 时间:
2020-03-03 11:14:42
阅读次数:
71
题目 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,null,null,4,4 ...
分类:
其他好文 时间:
2020-03-02 01:21:11
阅读次数:
70
平衡二叉树的判断 如何判断是否为平衡二叉树? 答: 每个节点的左右子树高度差的绝对值小于等于1,我们认为该二叉树平衡; ? 只要有一个节点的左右子树高度差绝对值大于1,我们认为这颗二叉树不平衡 。 因此,判断一棵树是否平衡,需要计算树的高度以及判断高度差。 下面介绍两种判断平衡二叉树的方式: 自顶向 ...
分类:
其他好文 时间:
2020-02-24 09:26:25
阅读次数:
118