剑指offer-树的子结构
来源:互联网 发布:中国导演 知乎 编辑:程序博客网 时间:2024/05/22 00:47
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:空树不是任意一个树的子结构)
解题思路:1)先找出A中是否存在B根节点;
2)若存在,再分别判断A,B左右子树是否全部相同;
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) { if(pRoot1->val==pRoot2->val) result= AhasallB(pRoot1,pRoot2); if(!result) result=HasSubtree(pRoot1->left,pRoot2); if(!result) result= HasSubtree(pRoot1->right,pRoot2); } return result; } bool AhasallB(TreeNode *pRoot1,TreeNode *pRoot2) { if(pRoot2==NULL) return true; if(pRoot1==NULL) return false; if(pRoot1->val!=pRoot2->val) return false; //if(pRoot1->val==pRoot2->val) return ((AhasallB(pRoot1->left,pRoot2->left))&&(AhasallB(pRoot1->right,pRoot2->right))); } };
1 0
- 剑指offer:判断树的子结构
- 【剑指offer】树的子结构
- 【剑指offer】Q18:树的子结构
- 剑指offer--17树的子结构
- 剑指offer--树的子结构
- 剑指Offer之 - 树的子结构
- 剑指offer 18 - 树的子结构
- 剑指Offer-树的子结构
- 剑指offer之树的子结构
- 《剑指offer》树的子结构
- 剑指offer—树的子结构
- 剑指Offer-18-树的子结构
- 剑指offer:树的子结构
- 【剑指offer】之树的子结构
- 剑指offer 17 树的子结构
- 剑指offer 树的子结构
- 剑指offer:树的子结构
- [剑指offer]树的子结构
- 文章标题 一些函数的编写
- [LeetCode OJ]Continuous Subarray Sum
- SVN中的Branches分支以及Tags标签详解与应用举例
- 套接字必须知道的图
- trie树-《算法导论》学习笔记十四
- 剑指offer-树的子结构
- js数组Array对象常用方法总结
- 套接字之客户端和服务端的一次通信
- 三十六、SpringBoot配置属性之NOSQL
- Floodlight出现错误:Error! Check the fields specified for the flow.Make sure IPv4 fields are not mixed wi
- 参考博客进行SSM+websocket整合
- Java平台的脚本
- LeetCode(8)
- 《Angular2路由跳转之代码跳转》