判断一个节点是否在一棵二叉树中&判断一颗二叉树是是否是另一颗树的子树
2017-07-31 16:09
489 查看
判断一个节点是否在一棵二叉树中
判断一颗二叉树是是否是另一颗树的子树
//给一个数找是否在二叉树中,找到返回所在节点 Node<T>* find(const T& data) { return _find(_root, data); } //判断一个节点是否在一棵二叉树中 bool IsNodeintree(const Node<T>* node) { return _IsNodeintree(_root,node); }
Node<T>* _find(Node<T>* root, const T& data) { if (root == NULL) return NULL; if (root->_val == data) return root; Node<T>* ret=NULL; if (ret =_find(root->_left, data)) return ret; return _find(root->_right,data); } bool _IsNodeintree(Node<T>* root, const Node<T>* node) { if (root == NULL || node == NULL) return false; if (root == node) return true; if (_IsNodeintree(root->_left, node) || _IsNodeintree(root->_right, node)) return true; return false; }
判断一颗二叉树是是否是另一颗树的子树
template<class T> bool HasSubTree(Node<T>* root1, Node<T>* root2) { bool ret = false; if (root1 == NULL || root2 == NULL) return false; //找到相同的根节点,判断其子树是否相同 if (root1->_val == root2->_val) { ret = IfTree1hasTree2(root1, root2); } if (!ret) ret = HasSubTree(root1->_left, root2); if (!ret) ret = HasSubTree(root1->_right, root2); return ret; } template<class T> bool IfTree1hasTree2(Node<T>* root1, Node<T>* root2) { //第一棵树中结点遍历完第二棵树还有及结点,肯定不是 if (root1 == NULL) return false; //第二棵树遍历完且与第一棵树的结点相同 if (root2 == NULL) return true; if (root1->_val != root2->_val) return false; return IfTree1hasTree2(root1->_left,root2->_left) && IfTree1hasTree2(root1->_right,root2->_right); }
相关文章推荐
- 判断一个节点是否在一棵二叉树中&&判断一颗二叉树是是否是另一颗树的子树
- day14之判断一个节点是否在一棵二叉树中+判断一颗二叉树是是否是另一颗树的子树
- 判断一个节点是否在一棵二叉树中和判断一颗二叉树是否是另一颗树的子树——题集(十二)
- 【判断一个节点是否在一棵二叉树中】/【判断一颗二叉树是是否是另一颗树的子树】
- 判断一个节点是否在一棵二叉树中
- 2个二叉树A、B,树的每个节点上都有一个整数值。如何判断A与B是否其中一个是另一个的子树?
- day12之判断一棵二叉树是否是平衡二叉树+求一颗二叉树的镜像+判断一个数在二维数组中是否存在
- 求两个节点的最近公共祖先多种解法&&判断一个节点是否在二叉树中
- 判断一个节点是否在一棵二叉树中
- 判断一个节点是否在二叉树中,判断tree2是否为tree1的子树
- 百度笔试题:判断一个二叉树是否是另一颗二叉树的子树
- 二叉树--判断一棵二叉树是否是平衡二叉树&&求一颗二叉树的镜像
- 面试题:判断一个节点是否在一棵二叉树中
- 二叉树--判断一个节点是否在一棵二叉树中。
- 每日一题之判断一个节点是否在一棵二叉树中
- 判断一个节点是否在一棵二叉树中
- 剑指offer 39---求二叉树的深度 && 输入一颗二叉树的根节点,判断该树是不是平衡二叉树
- 判断一颗二叉树是是否是另一颗树的子树。比如tree2是tree1的子树
- 如何判断一棵二叉树树是否为另一棵二叉树的子树
- 如何判断一个二叉树是否为另一二叉树子树u