树的子结构
来源:互联网 发布:淘宝小崔韩代 编辑:程序博客网 时间:2024/05/22 15:45
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public: bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { bool result= false; if(pRoot1!=NULL&&pRoot2!=NULL) { //如果1的根节点等于2的根节点,则比较其子树的结构 if(pRoot1->val==pRoot2->val) result=TestTree(pRoot1,pRoot2); //若在1中没有找到2的子树,则分别比较1左右子节点的值。主要是!result if(!result) result=HasSubtree(pRoot1->left,pRoot2); if(!result) result=HasSubtree(pRoot1->right,pRoot2); } return result; } bool TestTree(TreeNode* pRoot1, TreeNode* pRoot2) { //若是树2节点为空,则说明树2是1的子结构 if(pRoot2==NULL) return true; //树1的为空,而2对应不为空,则说明1不包含2 if(pRoot1==NULL) return false; //在比较其左右子树的值时候,若是不相等 if(pRoot1->val!=pRoot2->val) return false; return TestTree(pRoot1->left,pRoot2->left)&&TestTree(pRoot1->right,pRoot2->right); }};
0 0
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- SpringBoot非官方教程 | 第十四篇:在springboot中用redis实现消息队列
- 文章标题
- JAVA之键盘,鼠标监听事件
- java中讲讲InputStreamReader的用法,举例?
- 程序员创业的情怀和梦想
- 树的子结构
- 做游戏,学编程(C语言) 5 数组之生命游戏
- laravel学习笔记(4)— 数据库操作之
- 面对压力,逃避还是面对?
- Hibernate 注解使用总结
- 做游戏,学编程(C语言) 6 数组之空战游戏
- 全排列的递归解法
- [js笔记] click事件之动态浮动便签
- python 如何将字典dict、列表list中的中文正常显示