Problem3131--判断二叉树是否对称

3131: 判断二叉树是否对称

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

输入一棵带点权的二叉树,判断其是否对称,对称输出YES,否则输出NO。
如果将一棵二叉树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等则称这棵二叉树为对称二叉树。

Input

第一行一个正整数n,表示给定的树的节点的数目,规定节点编号1~n,其中节点1是树根。
第二行n个正整数,用一个空格分隔,第i个正整数vi代表节点i的权值。
接下来n行,每行两个正整数li,ri分别表示节点i的左右孩子的编号。如果不存在左/右孩子,则以−1表示。两个数之间用一个空格隔开。

Output

如果是对称二叉树输出YES, 否则输出NO。

Sample Input Copy

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

Sample Output Copy

YES

HINT

n <= 10000, vi <= 1000000;

Source/Category