判断两棵二叉树是否相等
来源:互联网 发布:同ip域名查询 编辑:程序博客网 时间:2024/05/03 03:44
- 题目要求:请实现两棵二叉树树是否相等的比较,并说明算法复杂度。
定义数据结构:
struct BinaryTreeNode{ int value; BinaryTreeNode* left; BinaryTreeNode* right;};
解题思路:
A、B两棵树相等当且仅当pRoot1->value==pRoot2–>value,而且pRoot1和pRoot2的左右子树相等或者左右互换相等。
实现代码:
bool CompareTree(BinaryTreeNode *pRoot1,BinaryTreeNode *pRoot2){ if (pRoot1 == NULL && pRoot2 == NULL) { return true; } if (pRoot1 != NULL && pRoot2 != NULL) { if (pRoot1->value == pRoot2->value) { //注意pRoot1和pRoot2左右子树相等或者左右互换相等的情况 if (CompareTree(pRoot1->left,pRoot2->left) && CompareTree(pRoot1->right,pRoot2->right) || CompareTree(pRoot1->right,pRoot2->left) && CompareTree(pRoot1->left,pRoot2->right)) { return true; } } } return false;}
注意递归结束的判断。
0 0
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相等
- 判断两颗二叉树是否相等
- 判断2棵二叉树是否相等
- 判断二叉树是否相等
- 判断二叉树是否相等:
- 判断二叉树是否相等
- 编程比较两棵二叉树是否相等
- 比较两棵旋转的二叉树是否相等
- 比较两颗二叉树是否相等
- 【数据结构】判断两个二叉树是否相等
- LeeCode 判断两个二叉树是否相等
- 判断两颗棵二叉树是否相等
- 判断两颗棵二叉树是否相等
- POJ 1364 - King(差分约束)
- webdriver自动化测试_键盘事件 python
- Windows平台下搭建Git服务器
- 四层和七层负载均衡的区别
- 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
- 判断两棵二叉树是否相等
- HttpClient简介及特性
- sql server 2012 报表开发(4) Reporting Service 行转列方法
- 修改Mac系统自带Vim配色方案
- 一篇讲得非常好的build模式的解释文章
- 四种进程或线程同步互斥的控制方法
- PHP的执行过程
- Android中jni工作流
- poj 2299 Ultra-QuickSort(树状数组)