树的子结构
来源:互联网 发布:林清轩芦荟胶 知乎 编辑:程序博客网 时间:2024/04/28 00:25
题目描述
输入两颗二叉树A,B,判断B是不是A的子结构。
子结构:树B是A中的一部分
算法:
第1步、A中某节点值与B根节点值相同进去2步,不相同继续先根遍历树A,继续和B的根节点比较。
第2步、先根遍历检验所有结点是否相同,结束条件为B树全部访问。
class Solution {public: bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { bool result = false; if(pRoot1 != NULL && pRoot2!=NULL){ if(pRoot1->val == pRoot2->val) result = SubTreeAllSame(pRoot1,pRoot2); if(!result) result = SubTreeAllSame(pRoot1->left,pRoot2); if(!result) result = SubTreeAllSame(pRoot1->right,pRoot2); } return result; } bool SubTreeAllSame(TreeNode* pRoot1,TreeNode* pRoot2){ bool result = false; if(pRoot2 == NULL) return true; if(pRoot1 == NULL) return false; if(pRoot1->val == pRoot2->val) return SubTreeAllSame(pRoot1->left,pRoot2->left) && SubTreeAllSame(pRoot1->right,pRoot2->right); else return false; }};
0 0
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 【JZOJ4586】Ned 的难题
- Android js和native交互的两种方法
- PTA 朋友圈【并查集的合并问题】
- 基础知识(十四)服务器搭建
- java动态加载
- 树的子结构
- Hystrix 使用与分析
- 大顶堆第二弹----堆排序(递归实现)
- centos7安装nginx
- Flying to the Mars
- 小顶堆---非递归C语言来一发
- 小顶堆第二弹-----堆降序排序(C语言非递归)
- 真的就有人可以用两三行代码实现你写了几十行代码的功能.....
- 剑指offer——面试题4:替换空格