#yyds干货盘点# leetcode算法题:验证二叉搜索树

网友投稿 755 2022-10-22

#yyds干货盘点# leetcode算法题:验证二叉搜索树

#yyds干货盘点# leetcode算法题:验证二叉搜索树

题目:

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

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

节点的左子树只包含 小于 当前节点的数。

节点的右子树只包含 大于 当前节点的数。

所有左子树和右子树自身必须也是二叉搜索树。

示例 1:

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

输出:true

示例 2:

输入:root = [5,1,4,null,null,3,6]

输出:false

解释:根节点的值是 5 ,但是右子节点的值是 4 。

代码实现:

class Solution { public boolean isValidBST(TreeNode root) { Deque stack = new LinkedList(); double inorder = -Double.MAX_VALUE; while (!stack.isEmpty() || root != null) { while (root != null) { stack.push(root); root = root.left; } root = stack.pop(); // 如果中序遍历得到的节点的值小于等于前一个 inorder,说明不是二叉搜索树 if (root.val <= inorder) { return false; } inorder = root.val; root = root.right; } return true; }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:BlogSystem- 基于 SSM 框架的博客系统
下一篇:hiho#1054 : 滑动解锁 (hiho模拟面试题2 - google在线技术笔试模拟)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~