1836-对称二叉树
本文总阅读量次
枚举所有父节点
结构对称,指的是左右孩子都存在节点。
反过来说,不对称指的是哪些情况?
- 左孩子节点存在,右孩子不存在
- 左孩子不存在,右孩子存在
所以,我们需要把所有的孩子节点都对比一下。
要找所有的孩子节点,先要找所有的父节点编号。
n = s.size();
s = ' ' + s;
for(int i = 1; i <= n/2; i++) //枚举所有的父节点
左孩子位置是
for(int i = 1; i <= n/2; i++){
if(s[2*i]!='#' && s[2*i+1]=='#' || s[2*i]=='#'&&s[2*i+1]!='#'){
cout<<"No";
return 0;
}
}
cout<<"Yes";
return 0;
最后一点,如果长度是偶数,肯定不对称,所以一开始的长度判断下奇偶性。