Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
65 lines (60 sloc) 1.27 KB
/*
* @lc app=leetcode.cn id=700 lang=cpp
*
* [700] Search in a Binary Search Tree
*
* https://leetcode-cn.com/problems/search-in-a-binary-search-tree/description/
*
* algorithms
* Easy (63.46%)
* Total Accepted: 4K
* Total Submissions: 6.3K
* Testcase Example: '[4,2,7,1,3]\n2'
*
* 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
*
* 例如,
*
*
* 给定二叉搜索树:
*
* ⁠ 4
* ⁠ / \
* ⁠ 2 7
* ⁠ / \
* ⁠ 1 3
*
* 和值: 2
*
*
* 你应该返回如下子树:
*
*
* ⁠ 2
* ⁠ / \
* ⁠ 1 3
*
*
* 在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。
*
*/
/**
* 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) {
while(root&&root->val!=val)
{
root= (root->val<val)? root->right: root->left;
}
return root;
}
};
You can’t perform that action at this time.