加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[LC] 700题 Search in a Binary Search Tree (二叉搜索树中的搜

发布时间:2020-12-14 04:40:26 所属栏目:大数据 来源:网络整理
导读:①中文题目 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树: ? ?在上述示例中,如果要找的值是? 5 ,但因为没有节点值为? 5 ,我们应

①中文题目

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

例如,

给定二叉搜索树:

?

?在上述示例中,如果要找的值是?5,但因为没有节点值为?5,我们应该返回?NULL

②思路

? ? 这个很好想的,

? ? 1、判断当前结点是否为空,如果是的,那就返回null。

? ? 2、再看当前结点的值是否跟val相等,如果等,就返回root。

? ? 3、如果当前结点的值是否<val,如果是小于,就说明输出的val在当前根的左边,就把当前根的left送去递归。

? ?4、如果当前结点的值是否>val,如果是大于,就说明输出的val在当前根的右边,就把当前根的right送去递归。

③代码

 1 class Solution {
 2     public TreeNode searchBST(TreeNode root,int val) {
 3         if(root==null)
 4             return null;
 5         if(root.val==val)
 6             return root; 
 7         else if(root.val>val)
 8             return searchBST(root.left,val);
 9         else
10             return searchBST(root.right,val);  
11     }
12 }

?

④学到的知识

? ? 1、往左走还是往右走,就是凭有没有比val大。

? ? 2、学会递归。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读