LeetCode讲解篇之98. 验证二叉搜索树

ops/2024/10/19 3:32:45/

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

我们可以通过递归搜索的方式查询某棵树是不是二叉搜索树,二叉搜索树需要满足的最小值与最大值的约束并且左子树和右子树都是二叉搜索树或者当前节点为空,以当前节点为根节点的树才是二叉搜索树,否则不是二叉搜索树

题解代码

func isValidBST(root *TreeNode) bool {var f func(root *TreeNode, minVal, maxVal int) boolf = func(root *TreeNode, minVal, maxVal int) bool {// 当前节点为空,表示是二叉搜索树if root == nil {return true}// 当前节点的值不满足当前二叉搜索树的最小值和最大值,表明不是二叉搜索树if root.Val <= minVal || root.Val >= maxVal {return false}// 递归查找左子树是否是二叉搜索树,其中左子树的二叉搜索树的最大值不能大于当前元素的值// 递归查找右子树是否是二叉搜索树,其中右子树的二叉搜索树的最小值不能小于当前元素的值// 只有当左子树和右子树都是二叉搜索树是,以当前节点为根节点的树才是二叉搜索树return f(root.Left, minVal, root.Val) && f(root.Right, root.Val, maxVal)}// 验证是否是二叉搜索树return f(root, math.MinInt64, math.MaxInt64)
}

题目链接

https://leetcode.cn/problems/validate-binary-search-tree/description/


http://www.ppmy.cn/ops/122259.html

相关文章

心觉:如何重塑高效学习的潜意识(5)终结篇

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作184/1000天 上篇文章讲了如何发挥边学边用的威力及其底层逻辑 到此为止&#xff0c;我们已经系统地把“系统化学习”和“边学边用…

Vue.js与Flask/Django后端的协同开发研究

在现代Web开发中&#xff0c;前后端分离的架构已成为一种趋势。前端框架如Vue.js因其灵活性与易用性受到广泛欢迎&#xff0c;而后端框架如Flask和Django则以其强大的功能和高效的开发效率成为众多项目的首选。本文将探讨如何将Vue.js与Flask/Django后端进行有效结合&#xff0…

设计模式(2)工厂模式

让一个工厂类去生产出对象 &#xff08;new &#xff09;来。 我们想要一个 形状&#xff0c;我们用工厂去生产出&#xff0c;圆形&#xff0c;方形。 package com.example.factory2;public interface Shape {void draw(); }public class Square implements Shape {Overridep…

基于SpringBoot+Vue的酒店客房管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

03 掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析

文章目录 03 掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析一 概述1.1 镜像1.2 镜像仓库1.3 容器二、镜像及镜像仓库2.1 本地镜像仓库2.2 镜像仓库简介2.3 使用远端仓库2.3.1 从远端镜像仓库拉取apache镜像2.3.2 从远端镜像仓库拉取指定版本apache镜像2.4 使用国内…

Spring Boot驱动的足球青训俱乐部管理解决方案

1 绪论 1.1研究背景 随着科技的发展&#xff0c;计算机的应用&#xff0c;人们的生活方方面面都和互联网密不可分。计算机的普及使得人们的生活更加方便快捷&#xff0c;网络也遍及到我们生活的每个角落&#xff0c;二十一世纪信息化时代的到来&#xff0c;随着社会科技的不断…

一站式大语言模型API调用:快速上手教程

智匠MindCraft是一个强大的AI工具及开发平台&#xff0c;支持多种大语言模型和多模态AI模型。本文将详细介绍如何通过API调用智匠MindCraft中的大语言模型&#xff0c;帮助开发者快速上手。 注册与登录 访问智匠MindCraft官网&#xff0c;注册并登录账号。 进入开发者平台&…

《SQL 注入防护+Web 应用防火墙》

目录 下面是针对不同方面禁止注入攻击的一些具体配置示例 一,SQL 注入防护(以 MySQL 数据库为例) 二、Web 应用防火墙(以 ModSecurity 为例) 下面是针对不同方面禁止注入攻击的一些具体配置示例 一,SQL 注入防护(以 MySQL 数据库为例) 在后端代码(如使用 PHP)中:…