题目
简单递归
1 class Solution { 2 public: 3 TreeNode* searchBST(TreeNode* root, int val) { 4 if(!root) return NULL; 5 TreeNode* p; 6 if(root->val == val) return root; 7 if(root->val > val) p = searchBST(root->left,val); 8 if(root->val < val) p = searchBST(root->right,val); 9 return p; 10 } 11 };
迭代
1 class Solution { 2 public: 3 TreeNode* searchBST(TreeNode* root, int val) { 4 while(root!=NULL){ 5 if(root->val == val) return root; 6 else if(root->val > val) root = root->left; 7 else root = root->right; 8 } 9 return NULL; 10 } 11 };
原文:https://www.cnblogs.com/fresh-coder/p/14268014.html