给定一个二叉树的根节点和另外两个节点p,q,计算p,q的最低公共父节点。
Node *LCA(Node *root, Node *p, Node *q)
{
if (root == NULL)
{
return NULL;
}
if ((p == root) || (q == root))
{
return root;
}
Node *left = LCA(root->left, p, q);
Node *right = LCA(root->right, p, q);
if (left && right)
{
return root;
}
return left? left : right;
}