当前位置: 首页 > news >正文

做一般的公司门户网站投资额企业网站seo案例分析

做一般的公司门户网站投资额,企业网站seo案例分析,51com个人主页登陆,西安网站建设批发文章目录一、题目描述示例 1示例 2二、代码三、解题思路一、题目描述 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: ①节点的左子树只包含 小于 当前节点的数。 ②节点的右子树只包含 大于 当前节点的…

文章目录

  • 一、题目描述
      • 示例 1
      • 示例 2
  • 二、代码
  • 三、解题思路


一、题目描述

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

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

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

示例 1

在这里插入图片描述

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

示例 2

在这里插入图片描述

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

提示:
树中节点数目范围在[1, 10^4] 内
-2^31 <= Node.val <= 2^31 - 1

二、代码

代码如下:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
import math
class Solution:def isValidBST(self, root: Optional[TreeNode]) -> bool:# 定义无穷大与无穷小Minimum = -math.pow(2,31) - 1Maximum = math.pow(2,31) result = [True]def judgement(root,min,max):# 如果当前的根节点值在区间范围内则继续判断其左、右子树,并更新范围if min < root.val and root.val < max:if root.left:# 当前节点存在左子树,则缩小上限为当前节点值,下限不变judgement(root.left,min,root.val)if root.right:# 当前节点存右子树,则缩小下限为当前节点值,上限不变judgement(root.right,root.val,max) else:# 如果当前节点值不在范围内,则结束当前进程,并认定该树不为二叉搜索树result[0] = Falsereturnif root.left == None and root.right == None: #左右子树都为空时return result[0]if root.left and root.right == None: #左子树不为空,右子树为空judgement(root.left,Minimum,root.val)if root.left == None and root.right: #左子树为空,右子树不为空judgement(root.right,root.val,Maximum)if root.left and root.right: # 左右子树都不为空judgement(root.left,Minimum,root.val)judgement(root.right,root.val,Maximum)return result[0]

三、解题思路

本题主要考察二叉搜索树的定义,需要对二叉搜索树的性质有一定理解,关于二叉搜索树的性质题目要求中已经给出,本题解不再赘述,下面来说一下本题的解题思路,以具体的二叉树为例:
在这里插入图片描述我们想要判断这个数是否是二叉搜索树,则需要判断每一个节点是否满足条件,我们可以通过先看一下二叉树各个位置上的范围:
在这里插入图片描述
到这里就能很直观的看出来,每一个节点对应的位置的范围,如果该结点的值在这一范围内,则满足二叉搜索树的条件,反之则不满足。
如何判断当前节点的值所处范围是多少,很明显,通过示例图所示,分为两种情况:
①如果当前节点是上一个节点的左节点(即当前节点位于其父节点的左子树中),则其范围是:
[父节点范围的下限,父节点的值]
②如果当前节点是上一个节点的右节点(即当前节点位于其父节点的右子树中),则其范围是:
[父节点的值,父节点范围的上限]
我们只需要遍历二叉树每一个节点,每次更新当前节点对应的范围,然后判断当前节点的值是否位于该范围,就可以知道其是否满足二叉搜索树条件。
需要注意的是:
①题目要求中所提出,任意结点的值的范围是[-231,231-1],我们则需要设置一个超出这个范围的值作为-∞和+∞(本题以-231-1作为负无穷大;以231作为正无穷大)。
②所有的区间范围都应该是开区间,因为二叉搜索树中不应该存在重复的数值。

http://www.lbrq.cn/news/2808379.html

相关文章:

  • 福州网站建设设计北京seo技术
  • 网店装修网站百度公司招聘信息
  • 网站建设行业增长率哈尔滨网络公司
  • 找大学生做家教去哪个网站找好新品推广计划与方案
  • 深圳网站设计权威乐云践新目前引流最好的平台
  • 太原网站建设费用seo优化的优点
  • 门户网站开发过程视频外贸快车
  • 建设银行网站个人客户seo优化网站优化排名
  • 医院网站后台模板seo有名气的优化公司
  • 南京建设工程质量监督站网站做网络推广怎么收费
  • 可在哪些网站做链接dw如何制作网页
  • 设计干货很多的网站优化疫情政策
  • 网站做301好不好百度收录入口在哪里查询
  • 商业网站建设教程乐陵seo优化
  • 深圳政府门户网站设计亮点网站优化公司上海
  • wordpress 国人原创百度seo关键词
  • 自己做网站用哪个软件百度教育app
  • 网站建设设计服务宽带营销策略
  • 有什么做旅游攻略的网站今天最新新闻国内大事件
  • 培训中心网站建设论文aso优化服务
  • 幸运28网站开发竞价推广平台
  • 建设网站坂田seo 专业
  • 厦门做网站建设seo兼职平台
  • 广发证券 网站谁做的360网站排名优化
  • 电子商务系统 网站建设长春网站提升排名
  • 网页和网站做哪个好用网站seo外包公司有哪些
  • 网站关键词可以做几个广州疫情今天最新消息
  • 保定专业网站制作seo搜索引擎优化步骤
  • 小猪网站怎么做的百度贴吧免费发布信息
  • 怀化物流网站建设报价b站推广网站
  • Mongodb操作指南
  • 融云Im单独一个拍照或者拍摄插件Plugin
  • MPLS原理
  • Django ModelForm
  • openEuler系统中如何将docker安装在指定目录
  • AI 效应: GPT-6,“用户真正想要的是记忆”