两颗树的情况可能如下图所示:

           1         1/ \       / \2   3     2   31         1/ \       / \2   1     1   2

求解思路:1.先判断两棵树是否为空,如果均为空,那么两棵树肯定相同;如果有一个为空,则不同。

2.在两棵树都不为空的情况下,先判断根结点数据是否相同,不相同则不同,否则,判断两棵树的左右子树是否相

同,只要有一个不同则不同,否则相同。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if(p != NULL && q == NULL){return false;}if(p == NULL && q != NULL){return false;}if(p == NULL && q == NULL){return true;}if(p->val != q->val){return false;}bool left = isSameTree(p->left,q->left);if(left != true){return false;}else{return isSameTree(p->right,q->right);}
}

LeetCode-判断两棵树是否相同相关推荐

  1. 递归判断两棵树是否相同

    递归写法判断两棵树是否相同: bool flag = true; // 默认认为两棵树是相同的,递归判断过程中改变flag值,一旦有一个不同,就跳出 void judge(node* root1, n ...

  2. LeetCode——Same Tree(判断两棵树是否相同)

    问题: Given two binary trees, write a function to check if they are equal or not. Two binary trees are ...

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

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

  4. 百度面试题:判断两棵树是否相等

    请实现两棵树是否相等的比较,相等返回1,否则返回其他值,并说明算法复杂度. 数据结构为: typedef struct_TreeNode{ char c; TreeNode *leftchild; T ...

  5. 代码实现判断两棵树是否相等

    //两棵树是否相等 bool compare(const Node *root1,const Node *root2){if (root1==NULL&&root2==NULL){re ...

  6. 判断两棵树是否相等与使用二叉链表法建立二叉搜索树

    //判断两个二叉树是否相等 //提问如果两个二叉树的前序遍历相等,能否说明,这两个树相等? //答案是否定的,只有这两个树的 A前序=B前序,A中序=B中序才可以. BOOL isEqualTree( ...

  7. python【数据结构与算法】判断两棵树是否相等

    # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # sel ...

  8. 判断两个树是否相同判断一棵树是否是一棵树的子树

    判断两棵树是否相同 方法:对两棵树同时做相同的递归判断其值或者是结构是否相同. 以下代码用的是前序遍历.递归方法(毕竟递归好理解而且代码少得可怜). 比较啰嗦的是指针为空的情况,只要把这些情况单独列出 ...

  9. 判断一棵树是否是另一棵树的子树(Java实现)

    前面一篇文章介绍了如何判断两棵树相等,思路就是遍历每个节点,然后判断是否均相等,需要用递归来实现.如果需要判断一棵树是另一棵树的子树,该怎么办呢?我们需要借助前面的思路,需要先判断两棵树相等,这里就是 ...

  10. LeetCode另一棵树的子树

    572. 另一棵树的子树 给你两棵二叉树 root 和 subRoot .检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树.如果存在,返回 true :否则,返回 false  ...

最新文章

  1. python搭积木_从零实现”搭积木式实现策略“的回测系统 part VI
  2. 成为人工智能视觉应用工程师需要多久?我用了45天!
  3. Python---堆里有16颗豆子,有两个玩家依次取豆
  4. JVM-12虚拟机性能监控与故障处理工具之【JDK的可视化工具-VisualVM】
  5. 在rancher服务器页面添加Host
  6. 联想拯救者y空间兑换代码_锐祥贴片Y电容进入联想手机快充供应链,性能获世界500强认可...
  7. html实现div打印,如何在html div的中间打印/附加从按钮单击的值?
  8. 数组去重(JavaScript)先从网上整理一波,待验证
  9. 【渝粤教育】21秋期末考试工程项目管理10324k2
  10. “约见”面试官系列之常见面试题之第七十六篇之vue-router中的路由钩子函数基本用法 (建议收藏)
  11. VMWARE双机安装说明
  12. Python @property装饰器的用法,判断函数参数整形、字符串、取值范围
  13. Android中如何使按钮的背景变得透明
  14. qt如何把父窗口的变量传给子窗口_子窗体显示的时候怎么让父窗体阻塞并且子窗体可以任意移动?...
  15. NYOJ98 - 成绩转换
  16. SpringMVC:学习笔记(1)——理解MVC及快速入门
  17. 昂达 v891 v1 终于 删除 windows 分区 并且恢复了容量。
  18. 对区块链技术的一些思考
  19. 非满管电磁流量计测量平均流速
  20. 七万字详解paddle-openVINO【CPU】-从环境配置-模型部署全流程

热门文章

  1. Android集成谷歌定位sdk,概述-Android 定位SDK | 高德地图API
  2. 阿里云服务器如何购买?2023新手指南
  3. 风变编程python小课怎么样_风变编程Python小课最近很火,大家学完感受如何?
  4. 办公pdf转word等软件的网站--往后找到再继续更新
  5. Adaboost原理
  6. 六、教师管理-列表查询、分页、搜索
  7. 视频怎么压缩大小?简单的压缩办法在这里
  8. html5 简单图片效果,【HTML5】Canvas绘制简单图片教程,
  9. 2022 超多姓氏头像微信小程序源码
  10. C++ 设计模式原理与实战大全-架构师需备课程-夏曹俊-专题视频课程