Find the least common ancestor in a tree where each node points to it's parent.
Sigiloso
Since along with normal tree pointers we also have pointers pointing back to the parent. We can start with any one of the given children, keep pushing the parent onto one stack until we reach the root. Do the same for the other child. Now keep popping elements from both the stacks until the elements are equal. The last equal element is the least common ancestor.