二叉树:找出2个节点的最近公共祖先(优化算法)

这道题的传统思路是想方法把根到两个点的路径分别保存在两个容器中,而后从后往前遍历容器找出相等的节点便为最近公共祖先。很容易计算出这是一个时间复杂度为o(n),空间复杂度为o(lgn)的算法。php 若是咱们这时要求使用空间复杂度为o(1)的算法那?web 咱们能够这样作: 假设2个节点为p1, p2。 咱们遍历这颗树,若是发现这个节点为p1/p2或者这个 节点的子树中有p1/p2时,返回p1/p2
相关文章
相关标签/搜索