判断一颗二叉树是是否是另一颗树的子树
2017-07-31 10:26
253 查看
//以root1为节点的树中,是否有和root2相同的节点 bool IsTree2InTree1(Node* root1, Node* root2) { if (root1 == NULL) return false; bool result = false; if (root1->_data == root2->_data) result = IsSameTree(root1, root2);//有相同的节点 if (result == false) result = IsTree2InTree1(root1->_left, root2);//root1的左子树中是否有和root2根节点相同的节点 if (result == false) result = IsTree2InTree1(root1->_right, root2);//root1的右子树中是否有和root2根节点相同的节点 return result; } //root2是不是以root1开头的子树 bool IsSameTree(Node* root1, Node* root2) { if (root2 == NULL)//root2已走完,此时是root1的子树 return true; if (root1 == NULL)//此时root2未走完,但root1已走完,返回false return false; if (root1->_data != root2->_data) return false; return IsSameTree(root1->_left, root2->_left) && IsSameTree(root1->_right, root2->_right); }
相关文章推荐
- 判断一颗二叉树是否是另一颗树的子树
- 判断一个节点是否在一棵二叉树中和判断一颗二叉树是否是另一颗树的子树——题集(十二)
- 判断一颗二叉树是是否是另一颗树的子树。比如tree2是tree1的子树
- day14之判断一个节点是否在一棵二叉树中+判断一颗二叉树是是否是另一颗树的子树
- 判断一个节点是否在一棵二叉树中&判断一颗二叉树是是否是另一颗树的子树
- 判断一颗二叉树是是否是另一颗树的子树。
- 百度笔试题:判断一个二叉树是否是另一颗二叉树的子树
- 二叉树--判断一颗二叉树是是否是另一颗树的子树。比如tree2是tree1的子树。
- 【判断一个节点是否在一棵二叉树中】/【判断一颗二叉树是是否是另一颗树的子树】
- 判断一个节点是否在一棵二叉树中&&判断一颗二叉树是是否是另一颗树的子树
- 判断一颗二叉树是是否是另一颗树的子树。
- 判断一颗二叉树是是否是另一颗树的子树
- 二叉树 判断是否为子树解题报告 (百度2016暑期实习笔试)
- 【二叉树8】判断一颗树是否是平衡二叉树
- 判断一颗二叉树是否为对称二叉树
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 判断一颗二叉树树是否为AVL树
- 判断一棵二叉树是否是另一棵二叉树的子树
- 判断一颗二叉树是否为平衡树
- 【剑指offer】判断二叉树是否平衡(左右子树高度差最多为1)