对称二叉树(tree_c)解题报告

题目描述

如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。编程判断给定的二叉树是否对称 .

例:如下图中的二叉树 T1 是对称的, T2 是不对称的。


二叉树用顺序结构给出,若读到#则为空,二叉树 T1=ABCDE, T2=ABCD#E,如果二叉树是对称的,输出“Yes” ,反之输出“No”。 

输入


输出


样例输入

ABCDE 

样例输出

Yes

学二叉树的时候写的一道题,和大佬交流了之后感慨自己的思想真妙啊!!!

题意是判断子树是否对称,若都为空或都为有则是对称,否则则是不对称。

顺序结构给你一个字符串,然后判断。

我的思路是:因为是顺序结构给出,所以第一个肯定是根。那么从第二位开始,两位两位判断是否都是字母或都是‘#’即可;

如果字符个数是偶数个,那么肯定不是对称。直接判断;


AC代码:

#include 
#include 
#include  
using namespace std;
char s[10010];
int main()
{
    cin>>s;
    int f=0;
    for(int i=1;i

妙啊!!!!!!!

你可能感兴趣的:(对称二叉树(tree_c)解题报告)