700. 二叉搜索树中的搜索
给定二叉搜索树(BST)的根节点 root 和一个整数值 val。
你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。
示例 1:
输入:root = [4,2,7,1,3], val = 2
输出:[2,1,3]
示例 2:
输入:root = [4,2,7,1,3], val = 5
输出:[]
解题代码如下:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
struct TreeNode* re;
void dfs(struct TreeNode* root,int val){
if(root&&re==NULL){
if(root->val==val){
re=root;
}
dfs(root->left,val);
dfs(root->right,val);
}
}
struct TreeNode* searchBST(struct TreeNode* root, int val){
re=NULL;
dfs(root,val);
return re;
}