Microsoft Interview Question

Given a tree (doesn't have to be a binary tree), create an efficient algorithm to find the common root node of two given nodes.