[LC] 700题 Search in a Binary Search Tree (二叉搜索树中的搜索) (二叉搜索树)
2024-09-01 07:09:28
①中文题目
给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
例如,
给定二叉搜索树:
在上述示例中,如果要找的值是 5
,但因为没有节点值为 5
,我们应该返回 NULL
。
②思路
这个很好想的,
1、判断当前结点是否为空,如果是的,那就返回null。
2、再看当前结点的值是否跟val相等,如果等,就返回root。
3、如果当前结点的值是否<val,如果是小于,就说明输出的val在当前根的左边,就把当前根的left送去递归。
4、如果当前结点的值是否>val,如果是大于,就说明输出的val在当前根的右边,就把当前根的right送去递归。
③代码
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if(root==null)
return null;
if(root.val==val)
return root;
else if(root.val>val)
return searchBST(root.left,val);
else
return searchBST(root.right,val);
}
}
④学到的知识
1、往左走还是往右走,就是凭有没有比val大。
2、学会递归。
最新文章
- javascript运动系列第一篇——匀速运动
- 弄了一个支持SSL的TCP客户端
- ZFPlayer 源码解读
- Chrome 扩展机制
- 转: Hibernate commit() 和flush() 的区别
- ios系统crash文件分析
- Android xml text 预览属性
- vijos 1038 括号+路径 ***
- TCP segment of a reassembled PDU
- phpcms v9后台美化需要修改的部分整理
- python web
- 把Ubuntu用户目录下的目录名改成英文
- win10下Python3.6安装、配置以及pip安装包教程
- 三十天学不会TCP,UDP/IP网络编程-UDP,从简单的开始
- Java基础---Java---IO流-----读取键盘录入、InputStreamReader、转换流、OutputStreamWriter、InputStreamReader
- Grunt connect
- Centos7系统安装部署docker
- 常用adb操作命令详解
- READ–IT: Assessing Readability of Italian Texts with a View to Text Simplification-paper
- Java-Runoob-高级教程-实例-数组:11. Java 实例 – 删除数组元素