树的子结构
来源:互联网 发布:软件注册授权系统 编辑:程序博客网 时间:2024/05/16 04:13
/*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 bIsInclude = false; //边界条件 if (NULL == pRoot1 || NULL == pRoot2)//表示结点为NULL,表示某条路径遍历结束,均不匹配。 { return false; } //判断根节点 if (pRoot1->val == pRoot2->val) { bIsInclude = IsInclude(pRoot1,pRoot2); } //判断左右子树是否匹配,但是在父亲已经匹配时,不用继续比较了 if (!bIsInclude) { bIsInclude = HasSubtree(pRoot1->left, pRoot2); } if (!bIsInclude) { bIsInclude = HasSubtree(pRoot1->right, pRoot2); } return bIsInclude; } bool IsInclude(TreeNode* pRootTarget,TreeNode* pRootPattern) { if (NULL == pRootPattern)//模式树为空,匹配成功 { return true; } if (NULL == pRootTarget)//模式树不为空,主树为空,不匹配 { return false; } if (pRootTarget->val != pRootPattern->val) { return false; } return IsInclude(pRootTarget->left,pRootPattern->left) && IsInclude(pRootTarget->right,pRootPattern->right); }};
阅读全文
0 0
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- CornerStone 常见的图标含义
- 理解e.clientX、e.clientY、e.pageX、e.pageY、e.offsetX、e.offsetY、e.screenX、e.screenY
- HDU 4734 F(x) 数位dp
- 合并两个排序的链表
- Resin4和Tomcat8容器下部署Maven项目
- 树的子结构
- 谈谈iOS中图片的解压缩
- rsyslogd、syslog远程传输、日志存储、转存
- 关于javaScript中onmousemove事件没效果的原因解释
- 二叉树的镜像
- Openstack Ocata安装(Block Storage service)
- 单链表的简单实现
- CDN 和 DNS
- idea中git提交代码遇到的问题(反复输入密码,用户名显示不正常)