使用Python使用父指针找到二叉树的最低公共祖先节点的程序
假设我们有一个二叉树和两个特定的节点x和y。我们必须找出二叉树中这两个节点的最低公共祖先节点。在二叉树中,最低公共祖先是两个节点x和y都是后代的最低节点。一个特定的节点也可以是自己的后代。我们需要找到该节点并将其作为输出返回。
树的节点结构如下 –
在找到解决方案时,我们必须利用父指针。
因此,如果输入如下:
并且x = 3, y = 7,则输出将为5。
3和7都是5的后代,因此答案将是5。
为了解决这个问题,我们将按如下步骤进行 –
- path_p_r := 一个新的列表
-
当x不为null时,执行
- 在path_p_r的末尾插入x
-
x:=x的父节点
-
当y不为null时,执行
- 如果y存在于path_p_r中,则
- 返回y
- y:=y的父节点
- 如果y存在于path_p_r中,则
让我们看下面的实现以获得更好的理解 –