LeetCode基础--二叉树--判断是否为BST
来源:互联网 发布:ubuntu tftp server 编辑:程序博客网 时间:2024/04/28 05:12
递归实现:
public class Solution { public bool IsValidBST(TreeNode root) { return isValidBST(root, long.MinValue, long.MaxValue); } private bool isValidBST(TreeNode root, long minVal, long maxVal) { if(root == null) { return true; } if(root.val >= maxVal || root.val <= minVal) { return false; } return isValidBST(root.left, minVal, root.val) && isValidBST(root.right, root.val, maxVal); }}
非递归实现:
public class Solution { public bool IsValidBST(TreeNode root) { if(root == null) { return true; } Stack<TreeNode> stack = new Stack<TreeNode>(); TreeNode pre = null; while(root != null || stack.Count != 0) { while(root != null) { stack.Push(root); root = root.left; } root = stack.Pop(); if(pre != null && root.val <= pre.val) { return false; } pre = root; root = root.right; } return true; }}
阅读全文
0 0
- LeetCode基础--二叉树--判断是否为BST
- 判断一个二叉树是否为BST
- 二叉树系列四:Leetcode#98判断二叉树是否为二叉搜索树(BST)
- 判断二叉树是否为二叉搜索树BST
- 判断二叉树是否为平衡二叉树(BST)
- 【Java实现】判断一棵树是否为BST,一棵树是否为完全二叉树
- LeetCode基础--二叉树-判断是否对称
- 判断是否为BST
- 二叉查找树(5) - 判断一棵二叉树是否为BST
- 判断一棵二叉树是否为二叉搜索树(BST)
- 二叉树---检查是否为BST
- LeetCode基础--二叉树-判断二叉树是否平衡
- 判断是否为排序二叉树BST(非递归算法)
- LeetCode—判断是否为二叉搜索树
- leetcode之判断是否为平衡二叉树
- leetcode 110-判断一棵树是否为平衡二叉树
- LeetCode基础--二叉树-判断两个树是否相同
- leetcode之判断是否BST二分搜索树
- JAD批量反编译
- vue2.0+stylus实现星级评定组件,computed计算属性实现全星半星,动态改变星级,多种星星规格
- gulp整理
- AOP切入点表达式语法
- 【剑指Offer】重建二叉树——JavaScript实现
- LeetCode基础--二叉树--判断是否为BST
- 卡尔曼滤波理解
- 树种统计
- 粘包问题
- 深度学习:稀疏自编码MATLAB
- 使用注解@StringDef替代枚举-以切换环境为例
- crash Log- 解析IOS崩溃日志
- web.xml相关配置
- poj Hopscotch (搜索)