#808. 判断平衡二叉树

判断平衡二叉树

题目描述

给定一棵二叉树, 判断该二叉树的是否平衡二叉树。 平衡二叉树指树的每个结点的两个子树的高度差都不能超过1。 反之任意一个结点的左右子树的高度差>1,则这个树不是平衡二叉树。 只有一个结点的树也是平衡二叉树。

输入格式

第一行是一个正整数 n, 表示二叉树的结点个数。 二叉树结点编号从 1到 n, 根结点为 1, n <= 10 。接下来有 n 行, 依次对应二叉树的结点1~n。 每行有两个整数, 分别表示该结点的左儿子和右儿子的结点编号。 如果第一个(第二个) 数为-1 则表示没有左(右)儿子。

输出格式

这个树是平衡二叉树,输出“yes”,否则输出“no”。

样例

输入样例 1

7
2 6
3 4
-1 -1
5 -1
-1 -1
-1 7
-1 -1

输出样例 1

yes

输入样例 2

1
-1 -1

输出样例 2

yes

输入样例 3

3
3 -1
-1 -1
2 -1

输出样例 3

no