【题型总结】求最低公共祖先【未完待续】

同样是求最低公共祖先的题,在不同的树的条件下,思路有差别。

对于树的题,都同时可以同递归和非递归方法实现。

1.BST

最简单的类型,详见:235. Lowest Common Ancestor of a Binary Search Tree

时间O(logn),空间O(1)。

2.普通树,有父节点指针

先分别找到目标节点,再逆向走父节点指针取出路径,问题转而求两个链表的第一个公共节点。

时间O(logn),空间O(1)。

3.普通树,无父节点指针

详见:https://blog.csdn.net/lemonade13/article/details/104481898

法一:找路径,求两链表第一个公共节点

时间O(n),空间O(logn)。

法二:记录查找状态,求第一个满足要求的节点

时间O(n),空间O(1)。

发布了126 篇原创文章 · 获赞 2 · 访问量 3727

猜你喜欢

转载自blog.csdn.net/lemonade13/article/details/104480534