The Type Of Tree
题目描述:
给定一个树的头结点,判断这棵树是不平衡二叉树。平衡二叉树的定义是左右对当前节点而言,左子树和右子树的深度差值不超过1;且左右子树也是平衡二叉树。
解题思路:
对于树的问题大部分都是采用递归的方式进行求解的,这一题也是。不过在判断是否是平衡儿叉树的过程需要记录当前节点的深度用来判断左右节点高度的差值;另外利用一个state变量来保存当前遍历过程中得到树的状态,如果已经知道是非平衡二叉树直接返回即可。
代码如下:
|
|
题目描述2:
给定一棵树的头节点,要求判断这棵树是不是二叉搜索树。
具体的题目描述可以看LeetCode98.
解题思路:
因为是搜索二叉树,所以我们可以通过中序遍历的结果看其是否是升序的来判断是否是搜索二叉树。自然还有递归的解法待下次补上。
代码如下:
|
|
题目描述3:
给定两棵树,要求判断这两棵树是否相等。
具体描述可以看LeetCode100.
代码如下:
|
|
题目描述4:
给定两棵树的头节点,要求判断这两棵树是否是互为镜像。
具体描述可以看LeetCode101.
代码如下:
|
|