public BinaryNode getRecursive(BinaryNode root, BinaryNode n1, BinaryNode n2) {
    validateInput(root, n1, n2);
    return getRecursiveInner(root, n1, n2);
  }
Recursive implementation for this problem. The complexity order in time terms of this
algorithm is O(N) where  N is the number of nodes in the tree. In space terms, the complexity
order of this algorithm is O(1) because we are not using any auxiliary data structure to
resolve this problem.
src/main/java/com/github/pedrovgs/problem21/LowestCommonAncestor.java