二叉搜索树中的搜索

此博客链接:https://www.cnblogs.com/ping2yingshi/p/12953746.html

二叉搜索树中的搜索(45min)

题目链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/

给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。

例如,

给定二叉搜索树:

4
/ \
2 7
/ \
1 3

和值: 2

题解:

         思路:

                 1.递归实现。

                 2.递归出口,当根节点为空或者根节点的值等于给定值时,返回根节点。

                 3.递归条件,当给定值大于根节点时,递归根节点的右子树,当给定值小于根节点值,递归根节点的左子树。

代码如下:

class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        if(root==null||root.val==val)
        {
            return root;
        }
        
        if(root.val<val)
        {
            return  searchBST(root.right,val); 
        }
        else
            return  searchBST(root.left,val);
        
       
      
    }
}

 

posted @ 2020-05-25 00:17  萍2樱释  阅读(132)  评论(0编辑  收藏  举报