二叉树——套路化解题--1.最大搜索二叉子树

求整棵树的xxx,假设以将个结点为头,它的xxx是什么,把它的可能的信息收集起来,就得到所有结点为头的xxx结果,那么答案肯定在其中。

给定一棵二叉树的头节点head, 请返回最大搜索二叉子树的大小 

本题目中,以每个结点为头结点,它的最大搜索二叉树是什么,那么需要的信息

如以某个结点X为例,它的二叉搜索子树的可能性

可能性1.最大搜索二叉树来自X的左子树

可能性2.最大搜索二叉树来自X的右子树

3.左子树和右子树整体都是搜索二叉树,并且左子树的最大值小于X,右子树的最小值大于X,则以X为头结点的整棵二叉树都是搜索二叉树

利用递归,遍历每一个结点,然后从其左右子树上分别收集信息,来辅助判断当前结点的最大搜索二叉子树的信息

需要的信息:

1.左子树上最大二叉搜索子树的大小

2.右子树上最大二叉搜索子树的大小

3.左子树的最大二叉搜索树的头结点

4.右子树的最大二叉搜索树的头结点

5.左子树的最大值

6.右子树的最小值

猜你喜欢

转载自www.cnblogs.com/SkyeAngel/p/8990895.html