树的子结构[数据结构]
来源:互联网 发布:什么叫app端口 编辑:程序博客网 时间:2024/06/05 18:21
题目:二叉树的结点定义如下:
struct TreeNode
{
int m_nValue;
TreeNode* m_pLeft;
TreeNode* m_pRight;
};
输入两棵二叉树A和B,判断树B是不是A的子结构。
例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一样的,因此B就是A的子结构。
1 8
/ \ / \
8 7 9 2
/ \
9 2
/ \
4 7
struct Node{int val;Node *left;Node *right;Node(int v){val = v;left = right = NULL;}};bool visitSub(Node *a, Node *b){if (b == NULL){return true;}if (a == NULL){return false;}if (a->val != b->val){return false;}return visitSub(a->left, b->left) && visitSub(a->right, b->right);}bool visit(Node *a, Node *b){bool result = false;if (a->val == b->val){result = visitSub(a, b);}if (!result && a->left != NULL){result = visit(a->left, b);}if (!result && a->right != NULL){result = visit(a->right, b);}return result;}bool hasSubtree(Node *a, Node *b){if (a == NULL && b == NULL){return true;}if (a == NULL && b != NULL){return false;}if (a != NULL && b == NULL){return false;}return visit(a, b);}
0 0
- 树的子结构[数据结构]
- 树的子结构[数据结构]
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- Jenkins简单使用介绍
- ModifyStyle函数的用法
- 26.订单管理
- mysql表的字符集uft8转换成gbk测试
- Android的Drawable之BitmapDrawable
- 树的子结构[数据结构]
- 二叉树遍历
- 面试题大集合
- getchar()
- springmvc源码阅读笔记 --HandlerMapping
- strlen实现
- Java中静态(static)成员何时才会初始化
- 迭代器 用法小结
- Android UI优化之ViewStub标签的使用