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

安卓开发和网站开发西安官网seo公司

安卓开发和网站开发,西安官网seo公司,常州网络科技推广公司,网站空间 程序有限制吗98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例…

98. 验证二叉搜索树

给你一个二叉树的根节点 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

解法思路:

1、递归

2、中序遍历

法一:

/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public boolean isValidBST(TreeNode root) {// Recursion// Time: O(n) n 为节点数// Space: O(n)return isValidBSTHelper(root, Long.MIN_VALUE, Long.MAX_VALUE);}private boolean isValidBSTHelper(TreeNode node, long minVal, long maxVal) {// 如果节点为空,视为有效if (node == null) {return true;}// 检查当前节点的值是否在合适的范围内if (node.val <= minVal || node.val >= maxVal) {return false;}// 递归检查左右子树return isValidBSTHelper(node.left, minVal, node.val) && isValidBSTHelper(node.right, node.val, maxVal);}
}

法二:

/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {private long prev = Long.MIN_VALUE; // 用于存储前一个节点的值public boolean isValidBST(TreeNode root) {// Recursion, Inorder Traversal// Time: O(n) n 为节点数// Space: O(n)return inOrderTraversal(root);}private boolean inOrderTraversal(TreeNode node) {if (node == null) {return true;}// 递归遍历左子树if (!inOrderTraversal(node.left)) {return false;}// 检查当前节点的值是否大于前一个节点的值if (node.val <= prev) {return false;}prev = node.val;// 递归遍历右子树return inOrderTraversal(node.right);}
}

http://www.ds6.com.cn/news/94747.html

相关文章:

  • 昆山住房和城乡建设部网站百度识图网页版入口
  • 网站开发用哪种语言公司开发设计推荐
  • wordpress新增站点长沙百度推广开户
  • 网络服务器与网站建设广州seo优化外包服务
  • wordpress 宁皓seo快速软件
  • 江苏 网站 备案app定制开发
  • 电镀加工技术支持 东莞网站建设常见的搜索引擎
  • 湖寮做网站网址缩短在线生成器
  • 怎么做网站地图推广百度百科
  • 聊城高端网站设计建设推广如何做网上引流
  • 做海报裂变的网站seo的基本步骤包括哪些
  • 淮安做网站服务单位seo网站内部优化
  • wordpress 加斜杠seo学校
  • 协会网站建设徐州做网站的公司
  • 网站设计需要多少费用企业微信会话存档
  • python可以做网站企业培训公司有哪些
  • 网站怎么做首页比较好如何让百度收录
  • 网站建设课程设计报告图文短视频营销常用平台有
  • 如何建立国外网站网站营销网站营销推广
  • 做网站用.net还是java搜索引擎的四个组成部分及作用
  • 自己建的网站如何做海外推广免费创建网站的平台
  • 现在新闻做的最好的网站关键词提取工具
  • 公司网站制作风格软文营销范文
  • 免费最好网站建设如何投放网络广告
  • 英语网站海报手抄报怎么做竞价推广和信息流推广
  • photoshop快捷键命令大全seo排名优化排行
  • 网站建设的研发支出费用化中国国家人事人才培训网
  • jquery制作简单的网页北京seo平台
  • 广东省 网站制作杭州全网推广
  • 广州品牌网站建设如何查询域名注册人信息