LeetCode|700. Search in Binary Search Tree
题目
You are given the root of a binary search tree (BST) and an integer val.
Find the node in the BST that the node’s value equals val and return the subtree rooted with that node. If such a node does not exist, return null.
Example 1:
Input: root = [4,2,7,1,3], val = 2
Output: [2,1,3]
Example 2:
Input: root = [4,2,7,1,3], val = 5
Output: []
Constraints
- The number of nodes in the tree is in the range [1, 5000].
- 1 <= Node.val <= 10^7
- root is a binary search tree.
- 1 <= val <= 10^7
思路
简单不考虑BST的特性,直接遍历全部二叉树的所有节点。
当找到目标节点后,即直接返回。
代码
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:void searchNode(TreeNode* root, int val, TreeNode*& node) {if (node != NULL)return;if (root->val == val){node = root;return;}if (root->left != NULL) {searchNode(root->left, val, node);} if (root->right != NULL) {searchNode(root->right, val, node);} return;}TreeNode* searchBST(TreeNode* root, int val) {if (root == NULL){return root;}TreeNode* node = NULL;searchNode(root, val, node);return node;}
};
相关文章:
LeetCode|700. Search in Binary Search Tree
题目 You are given the root of a binary search tree (BST) and an integer val. Find the node in the BST that the node’s value equals val and return the subtree rooted with that node. If such a node does not exist, return null. Example 1: Input: root […...
MacOS下载安装JDK8
一、前言 今天给苹果电脑安装JDK环境,后续打算把Mac系统也用起来,也体验一把用苹果系统开发。 JDK就不过多介绍了,大家都是JAVA开发,JDK就是JAVA开发的必要环境。目前已经更新到JDK20了,不过我是不会更新的࿰…...
macOS 如何使用Visual Studio Code 编译C++
在 macOS,则默认系统 C++ 编译器是 Clang。 要使用 Visual Studio Code 在 macOS 上的 Clang 中指定 C++ 版本,可以按如下所示修改tasks.json 文件: 在 Visual Studio Code 中打开您的 C++ 项目。按 Ctrl+Shift+P(或 macOS 上的 Cmd+Shift+P)打开命令面板。在命令面板中键…...
SQLite3简单操作
SQLite命令 文章目录 SQLite命令一、创建数据库二、表的操作1、创建表2、删除表 一、创建数据库 注:使用Ubuntu服务器操作,安装sqlite3 sudo apt update sudo apt install sqlite3 sqlite3 --version1、SQLite主要使用命令sqlite3来创建新的数据库 sq…...
从“制造”到“智造”:“灯塔”经验助力中国制造业转型升级-转载
作者:Karel Eloot,侯文皓,Francisco Betti,Enno de Boer和Yves Giraud 作为中国实体经济的主体,制造业是推动中国经济发展乃至全球制造业持续增长的重要引擎。站在历史与未来交汇的新起点上,中国制造业将背…...
C++ 容器(二)——容器操作
一、容器的修改 容器修改函数 insert():在指定位置插入一个或多个元素erase():删除指定位置或指定范围的元素push_back():将元素添加到容器的末尾pop_back():删除容器的最后一个元素 push_front():将元素添加到容器的开…...
操作系统——进程控制
创建进程 fork fork是一个系统调用函数,用来创建子进程,通过多个执行流完成任务。子进程和父进程共用一份代码,子进程数据使用写时拷贝,即子进程数据在创建的时候和父进程相同,但是当要修改数据的时候,子进…...
Marin说PCB之国产电源芯片方案 ---STC2620Q
随着小米加入的造车大家庭,让这个本来就卷的要死的造车大家庭更加卷了。随之带来的蝴蝶效应就是江湖上各个造成门派都开始了降本方案的浪潮啊,开始打响价格战了。各家的新能源车企也是不得不开始启动了降本方案的计划了,为了应对降价的浪潮。…...
已解决java.lang.StringIndexOutOfBoundsException: 字符串索引越界异常的正确解决方法,亲测有效!!!
已解决java.lang.StringIndexOutOfBoundsException: 字符串索引越界异常的正确解决方法,亲测有效!!! 目录 问题分析 报错原因 解决思路 解决方法 检查索引范围 检查字符串长度 管理循环中的索引 总结 问题分析 java.lan…...
关于实体类注解@Data、@EqualsAndHashCode(callSuper = true)、@Accessors(chain = true)的作用
笔记:都是lombook插件的注解,作用是简化优化代码等,比如getter、setter,一般三者连用能避免一些如继承类的导致的一些坑,比如equal()方法的错误,具体用法可查阅每个注解及属性的作用。 Accessors(chain tr…...
5.9号模拟前端面试10问
5.9号模拟前端面试10问 1.html语义化的理解 HTML语义化是指使用具有明确含义的HTML标签来描述内容,而不仅仅是使用<div>和<span>等通用容器标签。语义化的HTML代码更易于阅读和维护,同时也有助于搜索引擎优化(SEO)。…...
vue3 JSX的使用与警告【JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“】解决办法
一、安装 pnpm i vitejs/plugin-vue-jsx -D 二、配置 1、tsconfig.json "compilerOptions":{"jsx":"preserve" } 2、vite.config.ts import VueJsx from "vitejs/plugin-vue-jsx"...plugin:[vue(),VueJsx() ] 三、简单使用案例…...
一、计算机基础(Java零基础一)
🌻🌻目录 一、🌻🌻剖析学习Java前的疑问🌻🌻1.1 零基础学习编程1.2 英语不好能学吗?1.3 理解慢能学好吗?1.4 现在学Java晚吗?1.5 Java 和 Python 还有 Go 的选择1.6 Java…...
德国著名自动化公司Festo设计了一款仿生蜜蜂,仅重34g,支持多只蜜蜂编队飞行!...
德国著名的气动元件研发及自动化解决方案供应商Festo公司近日展示了一款仿生蜜蜂(BionicBee),重量只有34g,却完全可以实现自主飞行,还支持多只相同的蜜蜂机器人编队飞行。 BionicBee 重约 34 克,长 22 厘米…...
折腾记:C++用开源库Snap7通过S7协议连接西门子PLC
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 不是教程,是避坑指…...
Android studio 新版本 NewUI toolbar显示快捷按钮
新版本的Android studio 启用新的界面,以前许多快捷按键位置有变化 文章目录 设置始终显示主菜单设置ToolBar快捷按钮显示设置右下角显示分支 设置始终显示主菜单 原本要点击左上角几个横向才显示的菜单 设置始终显示,View -> Appearance -> Mai…...
辛普森公式求函数的近似积分【通用计算】
利用辛普森公式可以近似求出复杂函数的积分值,公式如下: ∫ a b f ( x ) d x ≈ h 3 [ y 0 y 2 n − 1 4 ( ∑ i 1 n − 1 y 2 i − 1 ) ∑ i 1 n − 1 y 2 i ] \int_{a}^{b} f(x) dx \approx \frac{h}{3}\left[ y_0 y_{2n-1} 4(\sum\limits_{i1…...
即插即用 | YOLOv8热力图可视化方法详解,揭秘AI如何「看」世界!【附完整源码】
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
多线程学习D10 收尾了应该
线程安全集合类概述 重点介绍java.util.concurrent.* 下的线程安全集合类,可以发现它们有规律,里面包含三类关键词:Blocking、CopyOnWrite、Concurrent Blocking 大部分实现基于锁,并提供用来阻塞的方法 CopyOnWrite 之类容器修改…...
ai可以做思维导图吗?当然是可以的!
ai可以做思维导图吗?在快节奏的现代生活中,思维导图作为一种高效的信息组织和表达工具,越来越受到人们的青睐。随着人工智能(AI)技术的不断发展,AI思维导图软件也应运而生,它们不仅能够帮助用户…...
告别盗版与广告:Office 2021官方纯净部署实战指南
1. 为什么选择官方纯净部署Office 2021? 每次打开电脑看到弹窗广告,或者发现系统莫名变慢的时候,你是不是也怀疑过那些所谓的"破解版"办公软件?我去年就吃过这个亏——用了某个号称"永久激活"的Office安装包…...
RISC-V处理器架构演进:从单周期到流水线的性能跃迁之路
1. 从单周期到流水线:RISC-V架构的性能进化史 第一次接触处理器设计时,我盯着单周期架构的电路图看了整整三天。最让我困惑的是:为什么简单的加法指令要和复杂的访存指令共用相同的时钟周期?这个问题背后,藏着处理器架…...
星链引擎:AI 驱动的全域营销决策自动化系统技术实现
一、引言在当前数字化营销时代,企业面临着前所未有的数据爆炸和决策复杂度。一个典型的全域营销场景中,企业每天需要处理来自多个平台的数百万条用户行为数据,同时还要根据市场变化、竞品动态和用户反馈,实时调整内容策略、发布策…...
昇腾平台上的异构编程
昇腾平台作为国产化 AI 算力核心底座,采用CPUNPU 异构计算架构,异构编程是充分释放昇腾硬件算力、实现高性能计算与 AI 推理融合加速的关键技术。异构编程指在同一计算任务中,协同调度通用处理器(CPU)与神经网络处理器…...
SAP ECC老司机避坑指南:FAGLGVTR和F.07年结操作,这5个细节不注意就白干了
SAP ECC年结实战:FAGLGVTR与F.07操作中的5个致命陷阱 每到年末,财务部门的紧张气氛总是格外浓厚。对于使用SAP ECC系统的企业来说,年结操作就像一场没有彩排的现场演出——任何一个小失误都可能导致数据混乱、报表错误,甚至影响整…...
物联网服务选型指南:从核心模块解析到实战避坑
1. 物联网服务选型:从数据孤岛到智能系统的桥梁在物联网项目里摸爬滚打了十几年,我见过太多项目卡在“服务选型”这个环节。很多工程师朋友,硬件玩得转,代码写得溜,但一到要把设备连上网,让数据跑起来&…...
信号处理中的‘双子星’:深入对比周期信号的离散谱与非周期信号的连续谱(附Sinc函数详解)
信号处理中的‘双子星’:深入对比周期信号的离散谱与非周期信号的连续谱(附Sinc函数详解) 在信号处理领域,周期信号与非周期信号的频谱分析构成了整个傅里叶分析体系的两大支柱。许多学习者在初次接触这两个概念时,往往…...
单细胞分析实战:用scVI和scANVI搞定多批次数据整合(附完整Python代码)
单细胞分析实战:用scVI和scANVI搞定多批次数据整合(附完整Python代码) 在单细胞RNA测序(scRNA-seq)研究中,数据整合是一个无法回避的挑战。当你手头的数据来自不同实验批次、不同测序平台或不同实验室时&am…...
【2024最新】ChatGPT联网搜索避坑白皮书:已踩过137次坑的技术总监总结出的6条铁律
更多请点击: https://intelliparadigm.com 第一章:ChatGPT联网搜索功能的核心机制与能力边界 ChatGPT 的联网搜索功能并非内置实时浏览器,而是通过插件(如 Bing Search Plugin)或企业级 API 集成方式,在用…...
开源桌面宠物应用开发指南:从原理到实践
1. 项目概述:一个开源的桌面宠物应用 最近在逛GitHub的时候,发现了一个挺有意思的开源项目,叫“openclaw-desktop-pet”。简单来说,它就是一个可以让你在电脑桌面上养一只小宠物的应用。这只宠物不是静态的图片,而是一…...
