1. Lowest Common Ancestor Problem
In the context of a binary tree, implement a function to find the lowest common ancestor of two given nodes in the tree. Assume that all nodes have unique values and the two nodes are guaranteed to be in the tree.