LeetCode96|二叉搜索树中的搜索
时间:2022-07-26
本文章向大家介绍LeetCode96|二叉搜索树中的搜索,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1,问题简述
给定二叉搜索树(BST)的根节点和一个值。
你需要在BST中找到节点值等于给定值的节点。
返回以该节点为根的子树。
如果节点不存在,则返回 NULL。
2,示例
例如,
给定二叉搜索树:
4
/
2 7
/
1 3
和值: 2
你应该返回如下子树:
2
/
1 3
在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。
3,题解思路
递归方法+二叉树的有序性
4,题解程序
public class SearchBSTTest {
public static void main(String[] args) {
TreeNode t1 = new TreeNode(4);
TreeNode t2 = new TreeNode(2);
TreeNode t3 = new TreeNode(7);
TreeNode t4 = new TreeNode(1);
TreeNode t5 = new TreeNode(3);
t1.left = t2;
t1.right = t3;
t2.left = t4;
t2.right = t5;
int val = 2;
TreeNode treeNode = searchBST(t1, val);
System.out.println("treeNode = " + treeNode);
}
public static TreeNode searchBST(TreeNode root, int val) {
if (root == null) {
return null;
}
if (root.val > val) {
return searchBST(root.left, val);
} else if (root.val < val) {
return searchBST(root.right, val);
} else {
return root;
}
}
}
5,题解程序图片版
6,总结
这道题还是比较容易理解的,理解二叉树的特点和数据的有序性是非常有必要的,二叉树的遍历方式,二叉树的节点特点都是我们需要掌握的
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP PDO和消息队列的个人理解与应用实例分析
- tp5 sum某个字段相加得到总数的例子
- laravel框架创建授权策略实例分析
- tp5递归 无限级分类详解
- PHP 进程池与轮询调度算法实现多任务的示例代码
- 如何在Laravel5.8中正确地应用Repository设计模式
- laravel框架中路由设置,路由参数和路由命名实例分析
- PHP框架实现WebSocket在线聊天通讯系统
- 设定php简写功能的方法
- 使用PHP+Redis实现延迟任务,实现自动取消订单功能
- 详解no input file specified 三种解决方法
- PHP实现微信提现功能(微信商城)
- 关于Yii2框架跑脚本时内存泄漏问题的分析与解决
- laravel 框架结合关联查询 when()用法分析
- php 实现简单的登录功能示例【基于thinkPHP框架】