判断是否是轴对称二叉树
来源:互联网 发布:网络终端机复原 编辑:程序博客网 时间:2024/04/29 12:46
算法思路:
其实思路不难,递归判断左节点的左孩子是否等于右节点的右孩子,并且左节点的右孩子等于右节点的左孩子
#include <iostream>using namespace std;struct BinNode {char data;BinNode *lchild;BinNode *rchild;};void Create(BinNode* &root){char ch;cin >> ch;if(ch == '#'){root = NULL;}else{root = new BinNode;root->data = ch;Create(root->lchild);Create(root->rchild);}}int JudgeTree(BinNode *p, BinNode *q){if(p==NULL && q==NULL){return 1;}else if(p->data==q->data && p!=NULL && q!=NULL) //左子树的左孩子等于右子树的右孩子,左子树的右孩子等于右子树的左孩子{JudgeTree(p->lchild, q->rchild);JudgeTree(p->rchild, q->lchild);}else{return 0;}}void PreOrder(BinNode *root){if(root == NULL){return;}else{cout <<root->data;PreOrder(root->lchild);PreOrder(root->rchild);}}void Release(BinNode *root){if(root == NULL){return;}else{Release(root->lchild);Release(root->rchild);delete root;}}int main(){int flag = 0;BinNode *root = NULL;Create(root);PreOrder(root);if(root != NULL){ flag = JudgeTree(root->lchild, root->rchild);}cout <<'\n'<< flag << '\n';Release(root);return 0;}
0 0
- 判断是否是轴对称二叉树
- 判断二叉树是否为轴对称二叉树
- (轴对称二叉树)Binary Tree
- 多校联合第七场1003Swordsman(判断简单多边形是否是轴对称图形)
- 判断是否是子树 和 判断二叉树是否平衡
- 判断二叉树是否是平衡树
- 判断二叉树是否是平衡树
- 判断二叉树是否是平衡树
- 判断一颗树是否是平衡二叉树
- 判断是否是平衡二叉树
- 判断一棵树是否是平衡二叉树
- 判断是否是平衡二叉树
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是二叉搜索树
- 判断二叉数是否是平衡树
- 判断是否是二叉查找树
- 判断是否是平衡二叉树
- 判断一棵树是否是二叉查找树
- JSTL 核心标签库 使用
- hibernate-mysql数据类型映射
- Easy RM to MP3 Converter Version 2.7.3 700漏洞分析
- 给自己一片悬崖
- Git 的origin和master分析 push/diff/head
- 判断是否是轴对称二叉树
- java内存溢出
- SetConsoleCtrlHandler 处理控制台消息
- 美丽一次
- c++ 写dll
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
- 程序员的进化
- Eclipse 提示cp1252错误,无法保存项目的解决方法
- 读取资源属性文件(properties)java.util.ResourceBundle使用详解