You are given two nodes, p and q. The task is to return their lowest common ancestor (LCA). Both nodes have a reference to their parent node. The tree’s root is not provided; you must use the parent pointers to find the nodes’ common ancestor.
Note: The lowest common ancestor of two nodes,
pandq, is the lowest node in the binary tree, with bothpandqas descendants.In a tree, a descendant of a node is any node reachable by following edges downward from that node, including the node itself.
Constraints:
Node.data
The number of nodes in the tree is in the range
All Node.data are unique.
p != q
Both p and q are present in the tree.
You are given two nodes, p and q. The task is to return their lowest common ancestor (LCA). Both nodes have a reference to their parent node. The tree’s root is not provided; you must use the parent pointers to find the nodes’ common ancestor.
Note: The lowest common ancestor of two nodes,
pandq, is the lowest node in the binary tree, with bothpandqas descendants.In a tree, a descendant of a node is any node reachable by following edges downward from that node, including the node itself.
Constraints:
Node.data
The number of nodes in the tree is in the range
All Node.data are unique.
p != q
Both p and q are present in the tree.