#1926. 二叉树(一)-课堂案例2

二叉树(一)-课堂案例2

题目描述

给定一棵二叉树,请编程判断是否是完全二叉树。 完全二叉树的定义: 对于一棵二叉树,除了最后一层外,每一层都被完全填满,并且所有结点都尽可能地向左对齐。

输入格式

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

输出格式

是完全二叉树输出“YES”,否则输出“NO”。

样例

输入样例 1

3
 2   3
-1 -1
-1 -1

输出样例 1

YES

输入样例 2

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

输出样例 2

YES

输入样例 3

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

输出样例 3

NO

输入样例 4

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

输出样例 4

YES

输入样例 5

3
-1 2
-1 3
-1 -1

输出样例 5

NO