输入两颗二叉树A,B,判断B是不是A的子结构。遍历A,然后用A的每个节点与B进行判断 1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 struct TreeNode *right; 6 Tr...
分类:
其他好文 时间:
2015-08-27 00:11:05
阅读次数:
166
题目
输入两颗二叉树A和B,判断B是不是A的子结构.二叉树结点的定义如下:先在A中找B的跟节点,若找到相同的,在判断左右子树是否相同.struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode* m_pLeft;
BinaryTreeNode* m_pRight;
BinaryTreeNode(i...
分类:
其他好文 时间:
2015-08-19 00:40:04
阅读次数:
111
输入两颗二叉树A,B,判断B是不是A的子结构。图中,树B就是树A的一个子结构思路:首先,从树A的根节点开始,判断树B是否是从该根节点开始与树A重合。如果不是,继续判断左右子树。重合判定:当前的A子树的根节点与B的根节点的值相同,再递归判断A的左右子树与B的左右子树是否相同。注意B为NULL判定为Tr...
分类:
其他好文 时间:
2015-08-11 21:13:57
阅读次数:
148
题目:
输入两棵树A和B,判断B是不是A的子结构
例如:右边的便是左边的子结构 8 4
/ \ / 4 9 2 5
/ 2 5
二叉树我们很容易会想到递...
分类:
其他好文 时间:
2015-07-19 16:27:43
阅读次数:
96
bool HasSubtree(BinaryTreeNode* pRoot1, BinaryTreeNode*pRoot2)
{
bool result = false;
if (pRoot1 != NULL&&pRoot2 != NULL)
{
if (pRoot1->m_nValue == pRoot2->m_nValue)
{
result = DoesTreeHaveTree...
分类:
其他好文 时间:
2015-07-08 21:00:25
阅读次数:
122
题目:输入两个二叉树A和B,判断B是不是A的子结构。思路:遍历A树找到B树的根节点,然后再判断左右子树是否相同。不相同再往下找。重复改过程。子结构的描述如下图所示:C++代码:#includeusing namespace std;struct BinaryTreeNode{ int ...
分类:
其他好文 时间:
2015-06-18 14:58:26
阅读次数:
155
题目:输入两棵二叉树A和B,判断B是不是A的子结构。思路:首先判断A树的头结点是否等于B的头结点:如果相等的话则继续递归判断这两个子节点是否都相同,如果指向B的指针为NULL则返回true,其他情况都返回false(A为NULL,A->data!=B->data)如果不等的话则继续递归它的左右子树直...
分类:
其他好文 时间:
2015-05-28 22:57:29
阅读次数:
149
题目:输入两颗二叉树A和B,判断B是不是A的子结构。二叉树结点的定义如下:
struct BinaryTreeNode{
int m_nValue;
BinaryTreeNode *m_pLeft;
BinaryTreeNode *m_pRight;
};
//在数A中查找与树B根结点值相同的结点,然后递归判断,查找过程也是递归
bool HasSubTree(BinaryTreeN...
分类:
其他好文 时间:
2015-05-15 22:51:50
阅读次数:
215
树的子结构
1. 题目
输入两棵二叉树A和B,判断B是不是A的子结构。二叉树定义结构如下:
struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode*m_pLeft;
BinaryTreeNOde*m_pRight;
};
例如图1-1(a)中红色部分和(b)的结构相同:对应位...
分类:
其他好文 时间:
2015-03-19 16:23:54
阅读次数:
100