树的子结构
来源:互联网 发布:职人咖啡 知乎 编辑:程序博客网 时间:2024/05/17 03:28
题目:输入两颗树A和B,判断B是不是A的子结构。
解答:应该想到递归解决问题。那么递归函数和终止条件是什么呢?首先如果当前的两个节点的值相等,那么递归地判断A中节点的左右子树是否分别包含B中节点的左右子树;如果两个节点的值不相等,那么递归地判断A中节点的左子树是否包含B中节点以及A中节点的右子树是否包含B中节点。(递归函数)然后如果A中节点为空,但B不为空,则返回false;如果B中节点为空,返回true。(终止条件)
struct TreeNode{int m_data;TreeNode* m_pLeft;TreeNode* m_pRight;TreeNode(const int data = 0,TreeNode* left=NULL,TreeNode* right=NULL):m_data(data),m_pLeft(left),m_pRight(right){}};bool SubTree(TreeNode* pRoot1,TreeNode* pRoot2){if(NULL == pRoot1 && NULL != pRoot2)return false;else if(NULL == pRoot2)return true;else if(pRoot1->m_data == pRoot2->m_data){return SubTree(pRoot1->m_pLeft,pRoot2->m_pLeft) &&SubTree(pRoot1->m_pRight,pRoot2->m_pRight);}else{return SubTree(pRoot1->m_pLeft,pRoot2) || SubTree(pRoot1->m_pRight,pRoot2);}}
0 0
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 谈面向对象之强依赖和弱依赖
- poj--2001--Shortest Prefixes(字典树)
- 各大团队的初始化CSS代码
- FormBorderStyle设为None,移动Winform窗口的两种方法
- Cordova插件开发(Android、iOS)
- 树的子结构
- linux下查看和添加PATH环境变量
- 接口返回值规则
- iOS nslog 使用 十六进制输出
- BestCoder Round #61 (div.2)(hdu5522,hdu5523,hdu5524,hdu5525(数论:费马小定理))
- springMVC aop
- public private 和protected 继承
- SQL的四种连接-左外连接、右外连接、内连接、全连接
- haoj Climbing Worm 【水题】