1// Recursive2class Solution {3public:4TreeNode *searchBST(TreeNode *root, int &val) {5if (root == NULL) return NULL;6if (root->val == val) return root;7if (root->val > val) return searchBST(root->left, val);8return searchBST(root->right, val);9}10};1112// Iterative13class Solution {14public:15TreeNode *searchBST(TreeNode *root, int val) {16while (root) {17if (root->val == val) return root;18root = root->val > val ? root->left : root->right;19}20return NULL;21}22};