代码语言:javascript复制
struct node {
int val;
node *left, *right;
};
// 返回值判断二叉树中是否含有x
// 含有x并且在子树中 则当前节点是一个祖先
// 含有x但是就是当前节点的值 则直接返回到上一层调用
bool ancestor(node *root, int x) {
if (!root) return false;
if (root->val == x) return true;
if ((root->left && root->left->val == x) || (root->right && root->right->val == x)) {
cout << root->val << " ";
return true;
}
return false;
}