Problem Description
如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。判断给定的二叉树是否对称。二叉树用层序结构给出,若读到#则为空,如果二叉树是对称的,输出“Yes”,反之输出“ No”。
Input
输入有多组数据,每组数据只有一行为二叉树的层序结构字符串,长度不大于100。
Output
对于每组数据如果二叉树是对称的,输出“Yes”,反之输出“ No”。
Sample Input
ABCDE ABCD#E
Sample Output
Yes No
//标程:
#include<stdio.h> #include<string.h> int main() { // freopen("a.txt","r",stdin); char str[120]; while(scanf("%s",str)!=EOF) { int i,l=strlen(str); for(i=l;i<=110;i++) str[i]='#'; for(i=0;i<l;i++) if( (str[2*(i+1)-1]=='#' && str[2*(i+1)]!='#') || (str[2*(i+1)-1]!='#' && str[2*(i+1)]=='#')) break; if(i==l)printf("Yes\n"); else printf("No\n"); } return 0; }