方法一:迭代
class Solution
{
public:
TreeNode* searchBST(TreeNode* root, int val)
{
while (root != nullptr)
{
if (val < root->val)
{
root = root->left;
}
else if (val > root->val)
{
root = root->right;
}
else
{
return root;
}
}
return nullptr;
}
};
方法二:递归
class Solution
{
public:
TreeNode* searchBST(TreeNode* root, int val)
{
if (root == nullptr)
{
return nullptr;
}
else if (val < root->val)
{
return searchBST(root->left, val);
}
else if (val > root->val)
{
return searchBST(root->right, val);
}
return root;
}
};