Lowest Common Ancestor of BST
Given a binary search tree (BST) and two node values p and q, find the lowest common ancestor (LCA) of the two nodes. Return the value of the LCA node.
The lowest common ancestor is the deepest node that has both p and q as descendants (a node can be a descendant of itself).
The tree is represented as a nested object: { val: 6, left: { val: 2, ... }, right: { val: 8, ... } }
Example 1:
Input: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8
6
/ \
2 8
/ \ / \
0 4 7 9
/ \
3 5
Output: 6
Explanation: The LCA of nodes 2 and 8 is 6.
Example 2:
Input: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 4
Output: 2
Explanation: The LCA of nodes 2 and 4 is 2, since a node can be a descendant of itself.
Constraints:
- •
2 <= number of nodes <= 10^5 - •
All node values are unique - •
p != q - •
Both p and q exist in the BST
Lowest Common Ancestor of BST
Given a binary search tree (BST) and two node values p and q, find the lowest common ancestor (LCA) of the two nodes. Return the value of the LCA node.
The lowest common ancestor is the deepest node that has both p and q as descendants (a node can be a descendant of itself).
The tree is represented as a nested object: { val: 6, left: { val: 2, ... }, right: { val: 8, ... } }
Example 1:
Input: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8
6
/ \
2 8
/ \ / \
0 4 7 9
/ \
3 5
Output: 6
Explanation: The LCA of nodes 2 and 8 is 6.
Example 2:
Input: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 4
Output: 2
Explanation: The LCA of nodes 2 and 4 is 2, since a node can be a descendant of itself.
Constraints:
- •
2 <= number of nodes <= 10^5 - •
All node values are unique - •
p != q - •
Both p and q exist in the BST