判断二叉树中两个节点的最低共同父节点
2012-05-04 17:27
239 查看
只要找到这样一个节点:
已知的两个节点一个在它的左边子树,一个在它的右边子树;
或者这个节点就是已知的两个节点中的一个,而另一个恰好在它的下面。
已知的两个节点一个在它的左边子树,一个在它的右边子树;
或者这个节点就是已知的两个节点中的一个,而另一个恰好在它的下面。
TREE* CommonFather(TREE *root, TREE *A, TREE *B) { if(root == NULL) return root; if(root == A)//如果找到A,则后面的都不再找了,如果其他分支没找到B,则B必定在A下面 return A; if(root == B)//同上 return B; TREE *leftChild == NULL; TREE *rightChild == NULL; leftChild = CommonFather(root->left, A, B);//返回A,B或结果 rightChild = CommonFather(root->right, A, B);//返回A,B或结果 if(leftChild != NULL && rightChild != NULL)//如果都不为空,则必定一个是A,一个是B; return root; if(leftChild != NULL)//如果不为空,则必定是A或B或结果; return leftChild; if(rightChild != NULL) return rightChild;//如果不为空,则必定是A或B或结果; }
相关文章推荐
- 判断二叉树中两个节点的最低共同父节点
- 寻找二叉树两个结点的最低共同父节点(2014京东笔试题)
- 二叉树两个最低的共同父节点
- 二叉树两个结点的最低共同父节点
- 算法-寻找二叉树两个结点的最低共同父节点(OC实现)
- 寻找二叉树两个结点的最低共同父节点
- 程序员面试100题之五 二叉树两个节点的最低共同父节点
- 找出二叉树中两个节点的最低共同父节点
- 算法: 在二叉树中找到两个节点的最低共同父节点
- 寻找二叉树两个结点的最低共同父节点
- 寻找二叉树两个节点的最低公共祖先
- 求二叉树中两个节点的最低父节点
- 寻找二叉树两个节点的最低公共祖先
- 20170928_二叉树中两个节点的最低公共祖先
- 寻找二叉树两个节点的最低公共祖先
- C++算法之 求二叉树两个节点的最低公共节点
- 给定一棵二叉树。求两个树节点的最低公共祖先
- 求二叉树中两个节点的最低公共祖先
- 在线笔试-求二叉树中俩个节点的最低共同父节点
- 求二叉树中两个节点的最低公共祖先