bottom up way to find Lowest Common Ancestor without parent pointer