code: def lca(root, p, q):
      
      if root is None or root is p or root is q:
          return root
      left = lca(root.left, p, q)
      right = lca(root.right, p, q)
      if left is not None and right is not None:
          return root
      return left if left else right
docs: :type root: TreeNode
      :type p: TreeNode
      :type q: TreeNode
      :rtype: TreeNode