当前位置: 首页 > 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.dtcms.com/a/335835.html

相关文章:

  • 影刀 RAP 迁移华为云备忘录数据到得到笔记
  • GitHub Copilot:AI编程助手的架构演进与真实世界影响
  • mac电脑开发嵌入式基于Clion(stm32CubeMX)
  • 深入了解linux系统—— 线程控制
  • IDE/去读懂STM32CubeMX 时钟配置图(有源/无源晶振、旁路/晶振模式、倍频/分频)
  • 三、k8s 1.29 之 安装2
  • 重温k8s基础概念知识系列三(工作负载)
  • 什么是GD库?PHP中7大类64个GD库函数用法详解
  • Kafka 面试题及详细答案100道(23-35)-- 核心机制2
  • 基础IO_系统文件IO | 重定向【Linux】
  • 《程序员修炼之道》第三四章读书笔记
  • 《算法导论》第 27 章 - 多线程算法
  • scikit-learn/sklearn学习|套索回归Lasso解读
  • Ansible 核心功能进阶:自动化任务的灵活控制与管理
  • 自由职业数据科学:从细分定位到规模化的实战路线
  • 记忆翻牌游戏 greenfoot 开发
  • 机器人经验学习1 杂记
  • 电子电气架构 --- 自动驾驶汽车的下一步发展是什么?
  • Python自学10-常用数据结构之字符串
  • 机器学习算法篇(十三)------词向量转化的算法思想详解与基于词向量转换的文本数据处理的好评差评分类实战(NPL基础实战)
  • 深度解析 Tomcat ProtocolHandler 工作原理
  • 安装 Docker 支持 NVIDIA 显卡的依赖
  • AI Search进化论:从RAG到DeepSearch的智能体演变全过程
  • JavaScript性能优化实战(三):DOM操作性能优化
  • 计算机网络 HTTP1.1、HTTP2、HTTP3 的核心对比及性能分析
  • 【LLM】文献阅读-ISOLATE GPT:基于大语言模型的执行隔离架构
  • 第16节:自定义几何体 - 从顶点构建3D世界
  • 检查xrdp远程连接桌面卡顿的问题(附解决sh脚本)
  • Oracle查看历史会话信息视图介绍
  • 【大语言模型 04】Cross-Attention vs Self-Attention实战对比:解码器中的双重注意力机制