OJ 正则二叉树(使用递归)

根据先序遍历结果,判断给定的二叉查找树是否为正则二叉树。通过递归方式分析序列,若满足条件则输出"YES",否则输出"NO"。
摘要由CSDN通过智能技术生成

问题

给定一颗二叉查找树,其中结点上存储整数关键字,请你判断它是否一棵正则二叉树,即每个内部结点均有两个子结点。

输入

第一行是测试样例数 T(T <= 20),接下来是 T 个测试样例。对于每个测试样例,第一行是二叉树结点个数 n (n <= 30),第二行是一个含有n个关键字的序列,表示二叉树的先序遍历结果。保证关键字均不相同。

输出

如果二叉查找树是正则的,则输出“YES”, 否则输出”NO”,每个输出占一行。

输入样例

5
2
10 5
3
1 4 7
3 
5 3 2
3
10 4 23
5
10 6 5 8 20

输出样例

NO
NO
NO
YES
YES

思路

由于是先序遍历,一个整数串可以分为三部分:sub = [root, (left), (right)]
1. len(sub)==0,说明为叶子节点,返回true。
2. len(sub)%2==0,说明是偶

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值