Leetcode 700. Search in a Binary Search Tree | | Leetcode 700. Search in a Binary Search Tree 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 1. Description 2. Solution Iterative 123456789101112131415161718192021222324252627/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* searchBST(TreeNode* root, int val) { TreeNode* current = root; while(current) { if(current->val == val) { return current; } else if(current->val < val) { current = current->right; } else { current = current->left; } } return NULL; }}; Recursive 1234567891011121314151617181920212223242526/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* searchBST(TreeNode* root, int val) { if(!root) { return NULL; } else if(root->val == val) { return root; } else if(root->val < val) { return searchBST(root->right, val); } else { return searchBST(root->left, val); } }}; Reference https://leetcode.com/problems/search-in-a-binary-search-tree/description/ 如果有收获,可以请我喝杯咖啡! 赏 微信打赏 支付宝打赏