✅✅100% concise and easy C++ solution using  recursion and iteration
Plz upvote if you find it useful\n\nRecursive Approach..\n\n**\n * Definition for a binary tree node.\n * struct TreeNode {\n *     int val;\n *     TreeNode *l
Plz upvote if you find it useful\n\nRecursive Approach..\n```\n**\n * Definition for a binary tree node.\n * struct TreeNode {\n *     int val;\n *     TreeNode *left;\n *     TreeNode *right;\n *     TreeNode() : val(0), left(nullptr), right(nullptr) {}\n *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}\n *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}\n * };\n */\nclass Solution {\npublic:\n    TreeNode* searchBST(TreeNode* root, int val) {\n       if(root==NULL){\n           return NULL;\n       }\n        if(root->val==val){\n                return root;\n            }\n        if(val>root->val){\n            return searchBST(root->right,val);\n        }\n         else{\n            return searchBST(root->left,val);\n            }\n        // return NULL;\n    }\n};\n```\n\nIterative Approach..\n```\nclass Solution {\npublic:\n    TreeNode* searchBST(TreeNode* root, int val) {\n       TreeNode* temp=root;\n        while(temp!=NULL){\n            if(temp->val==val){\n                return temp;\n            }\n            if(val>temp->val){\n                temp=temp->right;\n            }\n            else{\n                temp=temp->left;\n            }\n        }\n        return NULL;\n    }\n};\n```
['Binary Search Tree', 'Recursion', 'C', 'Iterator', 'C++']