题目
题目描述
如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。编程判断给定的二叉树是否对称.
例:如下图中的二叉树T1是对称的,T2是不对称的。
二叉树用顺序结构给出,若读到#则为空,二叉树T1=ABCDE,T2=ABCD#E,如果二叉树是对称的,输出“Yes”,反之输出“No”。
输入
二叉树用顺序结构给出,若读到#则为空。
输出
行数等于该树的结点数,每行的字母相同。
输入样例
ABCDE
输出样例
Yes
提交界面
思路
这道题看起来就比较简单。主要分为建树和判断两个部分,首先将树建好,再进行对称二叉树的判断。
CODE
#include<bits/stdc++.h>
using namespace std;
typedef struct node;
typedef node *tree;
struct node
{
char a;
tree l,r;
};
string a;
int k=1;
void js(tree &bt