mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2026-02-02 18:39:09 +08:00
Update
This commit is contained in:
@@ -51,7 +51,13 @@
|
||||
|
||||
使用后序遍历,回溯的过程,就是从低向上遍历节点,一旦发现满足第一种情况的节点,就是最近公共节点了。
|
||||
|
||||
**但是如果p或者q本身就是最近公共祖先呢?其实只需要找到一个节点是p或者q的时候,直接返回当前节点,无需继续递归子树。如果接下来的遍历中找到了后继节点满足第一种情况则修改返回值为后继节点,否则,继续返回已找到的节点即可。为什么满足第一种情况的节点一定是p或q的后继节点呢?大家可以仔细思考一下。**
|
||||
**但是如果p或者q本身就是最近公共祖先呢**?
|
||||
|
||||
其实只需要找到一个节点是p或者q的时候,直接返回当前节点,无需继续递归子树。
|
||||
|
||||
如果接下来的遍历中找到了后继节点满足第一种情况则修改返回值为后继节点,否则,继续返回已找到的节点即可。
|
||||
|
||||
为什么满足第一种情况的节点一定是p或q的后继节点呢?大家可以仔细思考一下。
|
||||
|
||||
递归三部曲:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user