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

数据结构与算法之 leetcode 98. 验证二叉搜索树 (前序,中序,后序遍历)

98. 验证二叉搜索树
前序遍历
/*** Definition for a binary tree node.* function TreeNode(val, left, right) {*     this.val = (val===undefined ? 0 : val)*     this.left = (left===undefined ? null : left)*     this.right = (right===undefined ? null : right)* }*/
/*** @param {TreeNode} root* @return {boolean}*/var isValidBST = function(root,left = Number.MIN_SAFE_INTEGER,right = Number.MAX_SAFE_INTEGER){if(root==null){return true}const x = root.val;return left<x&&x<right&&isValidBST(root.left,left,x)&&isValidBST(root.right,x,right)
}
执行用时分布
72ms
击败24.56%
使用 JavaScript 的用户消耗内存分布
53.21MB
击败84.13%
使用 JavaScript 的用户
中序遍历
// 中序遍历
var isValidBST = function (root) {let pre = Number.MIN_SAFE_INTEGER;function dfs(node){if (node == null) {return true;}if (!dfs(node.left)||(node.val <= pre)){return false;}pre = node.val;return dfs(node.right);}return dfs(root)
};
执行用时分布
72ms
击败24.56%
使用 JavaScript 的用户消耗内存分布
53.34MB
击败56.75%
使用 JavaScript 的用户
后序遍历
// 后序遍历var isValidBST = function (root) {function dfs(node){if(node == null){return [Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER]}const [lMin,lMax] = dfs(node.left)const [rMin,rMax] = dfs(node.right)const x = node.valif(x<=lMax||x>=rMin){return [Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER]}return [Math.min(lMin,x),Math.max(rMax,x)]}return dfs(root)[1]!=Number.MAX_SAFE_INTEGER
}
执行用时分布
75ms
击败13.61%
使用 JavaScript 的用户
消耗内存分布
57.01MB
击败5.01%
使用 JavaScript 的用户
参考链接

98. 验证二叉搜索树

http://www.lryc.cn/news/624153.html

相关文章:

  • React 基础实战:从组件到案例全解析
  • Wasserstein GAN:如何解决GANS训练崩溃,深入浅出数学原理级讲解WGAN与WGAN-GP
  • C语言相关简单数据结构:双向链表
  • 【数据分享】黑龙江省黑土区富锦市土地利用数据
  • 正则表达式实用面试题与代码解析专栏
  • 【Linux系列】常见查看服务器 IP 的方法
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘imageio’问题
  • Go语言企业级权限管理系统设计与实现
  • 2024年08月13日 Go生态洞察:Go 1.23 发布与全面深度解读
  • pandas series常用函数
  • leetcode热题100——day33
  • Python 内置模块 collections 常用工具
  • (机器学习)监督学习 vs 非监督学习
  • 二分查找(Binary Search)
  • 机器学习算法篇(十三)------词向量转化的算法思想详解与基于词向量转换的文本数据处理的好评差评分类实战(NPL基础实战)
  • 第七十九:AI的“急诊科医生”:模型失效(Loss Explode)的排查技巧——从“炸弹”到“稳定”的训练之路!
  • Tomcat下载、安装及配置详细教程
  • 《设计模式》抽象工厂模式
  • 数学建模-评价类问题-优劣解距离法(TOPSIS)
  • Python 调试工具的高级用法
  • HTTPS 配置与动态 Web 内容部署指南
  • Pycharm Debug详解
  • mysql建库规范
  • Grid系统概述
  • 佳文赏读 || (CVPR 2025新突破) Robobrain:机器人操作从抽象到具体的统一大脑模型(A Unified Brain Model)
  • 基于Python的旅游推荐系统 Python+Django+Vue.js
  • SVN客户端下载与安装
  • 在鸿蒙中实现深色/浅色模式切换:从原理到可运行 Demo
  • 力扣第463场周赛
  • C++---迭代器删除元素避免索引混乱