236 Lowest Common Ancestor of a Binary Tree
236. Lowest Common Ancestor of a Binary Tree
1. Question
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.
According to thedefinition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes v and w as the lowest node in T that has both v and w as descendants (where we allow a node to be a descendant of itself).”
For example, the lowest common ancestor (LCA) of nodes5
and1
is3
. Another example is LCA of nodes5
and4
is5
, since a node can be a descendant of itself according to the LCA definition.
2. Implementation
(1) Recursion
(2) Iteration
3. Time & Space Complexity
Recursion: 时间复杂度O(n), 空间复杂度O(h)
Iteration: 时间复杂度O(n), 空间复杂度O(h)
Previous235 Lowest Common Ancestor of a Binary Search TreeNext671 Second Minimum Node In a Binary Tree
Last updated