java 二叉树的最低共同祖先
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 二叉树的最低共同祖先相关的知识,希望对你有一定的参考价值。
// This code assumes both nodes exist
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
if (root == null || root == p || root == q) {
return root;
}
TreeNode left = lowestCommonAncestor(root.left, p, q);
TreeNode right = lowestCommonAncestor(root.right, p, q);
if (left != null && right != null) {
return root;
}
return left != null ? left : right;
}
以上是关于java 二叉树的最低共同祖先的主要内容,如果未能解决你的问题,请参考以下文章
编程算法 - 二叉树的最低公共祖先 代码(C)
如何在任何二叉树中找到两个节点的最低共同祖先?
使用递归js查找树状对象(不是二叉树)的最低共同祖先
如何在任何二叉树中找到两个节点的最低共同祖先?
求两个二叉树的最低公共祖先节点
如果不是树中的所有这些节点,Python会在二叉树中找到两个节点的最低共同祖先