int CompTree(TreeNode *tree1, TreeNode *tree2)
{
bool isTree1Null = (tree1 == NULL);
bool isTree2Null = (tree2 == NULL);
//其中一个为NULL,而另一个不为NULL,肯定不相等
if (isTree1Null != isTree2Null)
return 1;
//两个都为NULL,一定相等
if (isTree1Null && isTree2Null)
return 0;
//两个都不为NULL,如果c不等,则一定不相等
if (tree1->c != tree2->c)
return 1;
//两个都不为NULL,且c相等,则看两棵子树是否相等或者是否互换相等
return (CompTree(tree1->left, tree2->left)&CompTree(tree1->right, tree2->right))|
(CompTree(tree1->left, tree2->right)&CompTree(tree1->right, tree2->left));
}

判断两颗棵二叉树是否相等相关推荐

  1. 树(5)-----判断两颗树一样或者一棵树是否是另外一颗的子树

    1.判断两颗树是否一样.(递归) def isSameTree(p,q):if not p and not q:return Trueelif not p and q or (not q and p) ...

  2. 二叉树常见算法题(单值二叉树、二叉树的最大深度、反转二叉树、判断两颗二叉树是否相同、对称二叉树、一颗二叉树是否是另一颗二叉树的子树)

    这里的代码都是递归实现的,再强调下二叉树的概念,二叉树的构成有两种情况: 1.空树 2.根节点 + 左子树 + 右子树(这里的左子树和右子树又是一颗二叉树) 可以看出二叉树就是递归定义的,下面的算法题 ...

  3. 算法:如何判断两颗二叉树是否相等

    1.两可二叉树相等是指这两颗二叉树有着相同的结构,并且在相同位置上的结点有相同的值. 2.分析解答:两颗二叉树相等,节点的值相等,左右子树也完全相等,可以使用递归方法实现 3.代码如下: class ...

  4. C语言判断两字符串同构,c语言实现判断两颗树是否同构

    在本题中认为如果两个树左右子树交换可以相同,也被认为是同构树. 对应输入格式为:4(总结点数) A - 1 B 2 3 C - - D - - #include #define Tree int #d ...

  5. 怎么判断两颗二叉树相等

    bool pd(st *p, st *q) {     if(p==NULL && q==NULL) return true;     else if(p==NULL || q==NU ...

  6. Python算法——判断两棵二叉树是否相等

    要求: 如何判断两颗树是否相等?(两棵树相等是指这两课树有着相同的结构,并且在相同位置上的结点有相同的值) 分析: 如果两颗二叉树root1, root2相等, 那么root1和root2结点的值相同 ...

  7. python代码判断两棵二叉树是否相同

    python代码判断两棵二叉树是否相同 给定两个二叉树,编写一个函数来校验它们是否相同.如果两个树在结构上相同,并且结点具有相同的值,则认为它们是相同的. 判断两个二叉树是否是相同的,相同的依据是 二 ...

  8. 判断两棵二叉树是否同构,三种实现方式(递归、队列、堆栈)

    一.同构的概念: 给定两棵二叉树 T1 和 T2,如果T2可以通过若干次左右孩子互换就变成T1,那么我们称这两棵树是同构的 例1:下图两棵树同构,因为对T2,交换A左右孩子:交换B左右孩子,交换G左右 ...

  9. 【数据结构】判断两棵树是否相等的算法

    下面用先根遍历的思路描述算法的步骤: 若两棵二叉树都为空,则两棵二叉树相等,返回true; 若两棵二叉树都非空,则 若根结点的值相等,则继续判断它们的左子树是否相等: 若左子树相等,则再继续判断它们的 ...

最新文章

  1. MATLAB实现最优低通滤波器的函数
  2. 特征值 奇异值分解 概念整理
  3. BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+分块)
  4. 100万“愤怒的小鸟”:中国手机开发者生存调查
  5. ML.NET 0.8特性简介
  6. extras mibs php7,ubuntu编译安装php7遇到的问题及解决方案
  7. javascript--函数(一)
  8. Python urllib – Python 3 urllib
  9. 145.Binary Tree Postorder Traversal
  10. LINUX下载编译libgsm
  11. 一个简单的java程序
  12. 财务数据图表分析,这些财务预算表模板免费用
  13. 选手投票html,选手投票网页制作
  14. 精品文章!精讲光模块的方方面面,收藏!
  15. mysql 入库乱码,如何解决mysql中文入库乱码问题
  16. Maven导入依赖时jar包出现unknown
  17. App Store上架之开发者账号申请
  18. 中国电化学储能行业发展趋势展望及十四五战略研究报告2022~2027年
  19. delphi编写dll
  20. [转]index.dat文件剖析

热门文章

  1. ios java 图片上传到服务器,iOS 图片上传服务器
  2. 用积分来衡量博客的成绩
  3. JAVA入门级教学之(super的内存示意)
  4. cario java_Cairo图形库 概述
  5. redis数据丢失_有效避免数据丢失!Redis持久化方案选择详解
  6. Linux免设置路由端口映射,2014/04/01 演示中设置linux路由器、端口过滤的使用、路由设置...
  7. windows。forms.timer设置第一次不等待_面试官:换人!他连 TCP 这几个参数都不懂(一)...
  8. js 加入debug后可以进入controller_写给前端的 Nest.js 教程——10分钟上手后端接口开发
  9. 棒棒糖球球机器人_球球大作战刷棒棒糖_球球大作战刷龙蛋攻略
  10. myeclipse怎么创建jframe类_创建型-建造者模式