代码随想录_二叉树_leetcode700、98

news2024/9/21 6:04:38

leetcode700.二叉搜索树中的搜索

700. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val

你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。

示例 1:

输入:root = [4,2,7,1,3], val = 2
输出:[2,1,3]

示例 2:

输入:root = [4,2,7,1,3], val = 5
输出:[]

 代码

//leetcode700 二叉搜索树中的搜索
//迭代法、递归同理
class Solution {
public:
	TreeNode* searchBST(TreeNode* root, int val) {
		TreeNode* cur = root;
		while (cur != nullptr)
		{
			if (cur->val == val)
			{
				return cur;
			}
			else if (cur->val > val)
			{
				cur = cur->left;
			}
			else
			{
				cur = cur->right;
			}
		}
		return nullptr;
	}
};

leetcode98.验证二叉搜索树

98. 验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

  • 节点的左子树只包含 小于 当前节点的数。
  • 节点的右子树只包含 大于 当前节点的数。
  • 所有左子树和右子树自身必须也是二叉搜索树。

示例 1:

输入:root = [2,1,3]
输出:true

示例 2:

输入:root = [5,1,4,null,null,3,6]
输出:false
解释:根节点的值是 5 ,但是右子节点的值是 4 。

 代码

//leetcode98 验证二叉搜索树
// 中序遍历看看是不是递增序列
class Solution {
public:
	bool isValidBST(TreeNode* root) {
		long long  preNum = LLONG_MIN;
		stack<TreeNode*> treeSta;
		TreeNode* cur = root;
		while (!treeSta.empty() || cur != nullptr)
		{
			while (cur != nullptr)
			{
				treeSta.push(cur);
				cur = cur->left;
			}
			cur = treeSta.top();
			treeSta.pop();
			if (preNum >= cur->val)
			{
				return false;
			}
			preNum = cur->val;
			cur = cur->right;
		}
		return true;
	}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

乘客出租出行需求短时预测

CLAB模型是一种空间-时间环境下基于深度学习的乘客流量预测模型&#xff0c;可有效挖掘出租车乘客出行的时空相关性&#xff0c;考虑历史数据流入量对出行需求的影响&#xff0c;从而提高预测准确性。 数据挖掘维度&#xff1a; 1.时间维度&#xff1a;预测的是短时预测&#x…

关于ONgDB我问了ChatGPT这些问题!

关于ONgDB我问了ChatGPT这些问题&#xff01; 关于ONgDB我问了ChatGPT这些问题&#xff01;提问 ChatGPTONgDB和Neo4j的区别是什么&#xff1f;ONgDB可以适配哪些版本的Neo4j软件包&#xff1f;ONgDB可以适配哪个版本的Neo4j Python驱动软件包&#xff1f;ONgDB 1.x版本的特点是…

Oracle系列之八:SQL查询

SQL查询 1. 基本查询2. 连接查询3. SQL语句解析4. Oracle Hint Oracle它提供了一个强大的SQL引擎&#xff0c;使得用户可以通过SQL语言来管理和操作数据库。 1. 基本查询 以CAP&#xff08;顾客-代理-产品&#xff09;数据库为例&#xff0c;表结构如下&#xff1a; CUSTOME…

第四章 单例模式

文章目录 前言一、单例模式的介绍二、单例模式的 8 种实现方式&#xff08;懒汉式要注意线程安全问题&#xff09;1、饿汉式&#xff08;静态常量&#xff09;优缺点&#xff1a;可能会造成内存的浪费&#xff0c;但也只能浪费内存 2、饿汉式&#xff08;静态代码块&#xff09…

( “树” 之 BST) 538. 把二叉搜索树转换为累加树 ——【Leetcode每日一题】

二叉查找树&#xff08;BST&#xff09;&#xff1a;根节点大于等于左子树所有节点&#xff0c;小于等于右子树所有节点。 二叉查找树中序遍历有序。 538. 把二叉搜索树转换为累加树 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加…

( “树” 之 DFS) 337. 打家劫舍 III ——【Leetcode每日一题】

337. 打家劫舍 III 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。…

IDEA社区版搭建Tomcat服务器并创建web项目

IDEA社区版搭建Tomcat服务器并创建web项目 目标 创建Web项目的目录结构可以启动Tomcat服务器编写Servlet并访问成功 问题 IDEA社区版没有创建Web工程的选项IDEA社区版没有Tomcat插件 实现步骤 针对以上两个问题&#xff0c;分步解决 问题一&#xff1a;IDEA社区版没有创建…

《花雕学AI》18:AI绘画尝鲜Prompt Hunt,使用人工智能模型来创造、探索和分享艺术作品

引言&#xff1a; 人工智能是当今科技领域的热门话题&#xff0c;它不仅可以帮助人类解决各种实际问题&#xff0c;也可以激发人类的创造力和艺术感。Prompt Hunt就是一个利用人工智能模型来创造、探索和分享艺术作品的AI绘画网站。它提供了三种不同的模型&#xff0c;分别是S…

Git 分布式版本控制工具

文章目录 Git 分布式版本控制工具课程内容1. 前言1.1 什么是Git1.2 使用Git能做什么 2. Git概述2.1 Git简介2.2 Git下载与安装 TODO3. Git代码托管服务3.1 常用的Git代码托管服务3.2 码云代码托管服务3.2.1 注册码云账号3.2.2 登录码云3.2.3 创建远程仓库3.2.4 邀请其他用户成为…

最火爆的持续集成工具 jenkins ,详细教程来啦(傻瓜式教程)

很多小伙伴在安装以及配置jenkins的时候&#xff0c;总会遇到一些问题。 今天在这边特地把jenkins的安装&#xff0c;以及常用的一些功能的配置整理到了这篇文章中&#xff0c;希望对大家有所帮助&#xff01; 1安装JDK JDK安装完需要配置环境变量&#xff0c;大家可以自行百度…

Spark学习:spark读写postgreSql

读写PostgreSql 一、环境搭建二、写三、读四、ETL一、环境搭建 1、spark安装包,官网地址,我下的是如下版本 2、postgreSql数据库jdbc驱动,官网地址,我下的是如下版本 3、java版本1.8;scala版本2.12.15 4、spark安装包解压到任意目录,把postgreSql的jdbc驱动jar包放在spark的…

MySQL having关键字详解、与where的区别

1、having关键字概览 1.1、作用 对查询的数据进行筛选 1.2、having关键字产生的原因 使用where对查询的数据进行筛选时&#xff0c;where子句中无法使用聚合函数&#xff0c;所以引出having关键字 1.3、having使用语法 having单独使用&#xff08;不与group by一起使用&a…

L3-032 关于深度优先搜索和逆序对的题应该不会很难吧这件事 有趣的数据结构题

传送门:PTA 题目描述: 给定一棵 n 个节点的树&#xff0c;其中节点 r 为根。求该树所有可能的 DFS 序中逆序对数量之和。 输入: 10 5 10 2 2 5 10 7 7 1 7 9 4 2 3 10 10 8 3 6 输出: 516唉,由于近期事情比较多以及某些个人因素导致好久没有更新博客了,今天碰到了一道有意思的…

机器视觉检测技术在工业零部件的应用

众所周知&#xff0c;在工业生产中&#xff0c;传统的检测技术需要大量的检测工作者&#xff0c;不仅影响生产效率&#xff0c;而且带来不可靠的因素。 视觉检测技术克服了传统检测技术的缺点&#xff0c;确保了检测的安全性。 可靠性和自动化程度高&#xff0c;已成为当前检测…

Scrapy配置使用

前人之述备矣 教程&#xff1a;Python虚拟环境ScrapyPyCharm 使用实例 - 知乎 注意&#xff1a;是cmd不是powershell,两者还是有区别的。 因为是本地的虚拟环境&#xff0c;用cmd激活环境并且安装相关的scrapy包&#xff0c;如果用powershell&#xff0c;在pycharm中显示不了…

【MySQL】如何使用MySQL锁(全局锁、表级锁、行级锁)?

文章目录 概述一、全局锁介绍语法特点 二、表级锁介绍表锁元数据锁意向锁 三、行级锁介绍行锁间隙锁&临键锁 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源&#xff08;CPU、RAM、I/O&#xff09;的争用以外&#xf…

神经网络之反向传播算法(自适应矩估计算法Adam)

文章目录 自适应矩估计算法&#xff08;Adam&#xff09;1、算法原理2、算法实现2.1 训练过程2.2 测试过程及结果 3、参考源码及数据集 自适应矩估计算法&#xff08;Adam&#xff09; 自适应矩估计算法从其本质上看可以视作是带有动量项的均方根反向传播算法&#xff0c;一方…

jmeter -- WebService接口压测

WebService简介 webService 一种使用http传输SOAP协议数据的远程调用技术。 SOAP协议 soap请求是HTTP POST的一个专用版本&#xff0c;遵循一种特殊的xml消息格格式。Content-type需设置为: text/xml 与HTTP比较 接口中实现的方法和要求参数一目了然不用担心大小写问题不用担心…

matlab中计算标准差std函数

标准差 标准差&#xff08;Standard Deviation&#xff09;是离均差平方的算术平均数&#xff08;即&#xff1a;方差&#xff09;的算术平方根。 标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。平均数相同的两组数据&#xff0c;标准差未必相同。 计算公式&…

HCIP之路VLAN

VLAN---虚拟局域网 垃圾流量问题 网络安全问题 VLAN特点 一个vlan就是一个广播域&#xff0c;不同vlan内部的数据无法进行跨广播域通讯 vlan的划分不受地域限制 vlan的实现 主机的网卡一般只能发送和接收无标记帧&#xff08;Untagged Frame&#xff09;。Tagged Frame --- 标…