树的子结构问题
来源:互联网 发布:修改软件的软件 编辑:程序博客网 时间:2024/05/20 08:25
题目:输入两颗二叉树A和B,判断B是不是A的子结构
算法思想很简单:首先在A中找到和B的根节点的值一样的节点R,然后再判断树A中以R为根节点的子树是不是包含和树B一样的结构。
bool HasSubTree(BinaryTreeNode* pRoot1,BinaryTreeNode* pRoot2){ bool result=false; if(pRoot1!=NULL && pRoot2!=NULL) { if(pRoot1->m_nValue==pRoot2->m_nValue) { result=DoesTree1HaveTree2(pRoot1,pRoot2); } if(!result) { result=HasSubtree(pRoot1->m_pLeft,pRoot2); } if(!result) { result=HasSubtree(pRoot1->m_pRight,pRoot2); } } return result;}bool DoesTree1HaveTree2(BinaryTreeNode* pRoot1,BinaryTreeNode* pRoot2){ if(pRoot2==NULL) { return true; } if(pRoot1==NULL) { return false; } if(pRoot1->m_nValue!=pRoot2->m_nValue) { return false; } return DoesTree1HaveTree2(pRoot1->m_pLeft,pRoot2->m_pLeft) && DoesTree1HaveTree2(pRoot1->m_pRight,pRoot2->m_pRight);}
阅读全文
1 0
- 树的子结构问题
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- sshd 中文使用说明书
- 我的自定义View基础(一)
- SSH error:a public key file has not been specified by this session
- 使用vue-slider-component不能滑动注意事项
- hive sql 注意事项
- 树的子结构问题
- vim使用技巧
- Swift学习之"Use Legacy Swift Language Version"报错
- UFLDL教程:Exercise:Softmax Regression
- 解决 Error inflating class android.support.v7.widget.ActionBarContainer
- [数据库][SQLServer]判断一个字符串中是否包含另一个字符串
- 端口分类调研
- linux中使用select和epoll确定异步connect连接是否成功 标签: 网络编程服务器异步connectSO_ERRORsocket 2016-07-31 23:07 1008人阅读 评
- 【建模必备】遗传算法的基本原理与步骤(变异)