对称二叉树(tree_c)解题报告
2018-03-25 17:13
204 查看
题目描述
如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。编程判断给定的二叉树是否对称.例:如下图中的二叉树 T1 是对称的, T2 是不对称的。
二叉树用顺序结构给出,若读到#则为空,二叉树 T1=ABCDE, T2=ABCD#E,如果二叉树是对称的,输出“Yes” ,反之输出“No”。
输入
输出
样例输入
ABCDE
样例输出
Yes
学二叉树的时候写的一道题,和大佬交流了之后感慨自己的思想真妙啊!!!
题意是判断子树是否对称,若都为空或都为有则是对称,否则则是不对称。
顺序结构给你一个字符串,然后判断。
我的思路是:因为是顺序结构给出,所以第一个肯定是根。那么从第二位开始,两位两位判断是否都是字母或都是‘#’即可;
如果字符个数是偶数个,那么肯定不是对称。直接判断;
AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char s[10010];
int main()
{
cin>>s;
int f=0;
for(int i=1;i<strlen(s);i=i+2)
{
while(strlen(s)%2==0)
{
f=1;
break;
}
if(s[i]=='#'&&s[i+1]!='#')
{
f=1;
break;
}
else if(s[i+1]=='#'&&s[i]!='#')
{
f=1;
break;
}
}
if(f==1)
{
cout<<"No"<<endl;
}
else
{
cout<<"Yes"<<endl;
}
return 0;
}
妙啊!!!!!!!
相关文章推荐
- Leetcode 104. Maximum Depth of Binary Tree 二叉树的最大高度 解题报告
- Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 先序和中序中恢复二叉树 解题报告
- leetCode解题报告之Binary Tree Level Order Traversal II,I(二叉树层次遍历)
- 剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
- S-Tree解题报告UVa 712二叉树/二分搜索
- leetCode 104.Maximum Depth of Binary Tree(二叉树最大深度) 解题思路和方法
- [Leetcode] 545. Boundary of Binary Tree 解题报告
- 【LeetCode】208. Implement Trie (Prefix Tree) 解题报告(Python)
- 【LeetCode】236.Lowest Common Ancestor of a Binary Tree(Medium)解题报告
- [LeetCode]Same Tree解题报告
- [Leetcode] 671. Second Minimum Node In a Binary Tree 解题报告
- [Leetcode] 226. Invert Binary Tree 解题报告
- 剑指offer解题报告(Java版)——二叉树的镜像 19
- [Leetcode] 236. Lowest Common Ancestor of a Binary Tree 解题报告
- pku 树形DP 1848 Tree 解题报告
- 【LeetCode】Invert Binary Tree 解题报告
- 【LeetCode】Binary Tree Level Order Traversal 解题报告
- 【LeetCode】Binary Tree Level Order Traversal II 解题报告
- 1066. Root of AVL Tree (25)解题报告
- Tree Recovery解题报告