95.Validate Binary Search Tree-验证二叉查找树(中等题)
来源:互联网 发布:adobe 2018套装软件 编辑:程序博客网 时间:2024/05/22 13:12
验证二叉查找树
题目
给定一个二叉树,判断它是否是合法的二叉查找树(BST)
一棵BST定义为:节点的左子树中的值要严格小于该节点的值。
节点的右子树中的值要严格大于该节点的值。
左右子树也必须是二叉查找树。
一个节点的树也是二叉查找树。样例
一个例子:
上述这棵二叉树序列化为 {2,1,4,#,#,3,5}.- ###题解###
使用中序遍历,当遍历完左子节点返回根节点后,lastVal存储的是左子节点值与根节点进行比较,当遍历右子节点时lastVal存储的是根节点值与右子节点进行比较。firstNode避免当仅有一个根节点且值等于Integer.MIN_VALUE时出现误判。
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root: The root of binary tree. * @return: True if the binary tree is BST, or false */ private int lastVal = Integer.MIN_VALUE; private boolean firstNode = true; public boolean isValidBST(TreeNode root) { if (root == null) { return true; } if (!isValidBST(root.left)) { return false; } if (!firstNode && lastVal >= root.val) { return false; } firstNode = false; lastVal = root.val; if (!isValidBST(root.right)) { return false; } return true; }}
Last Update 2016.10.8
0 0
- 95.Validate Binary Search Tree-验证二叉查找树(中等题)
- Leetcode 98 Validate Binary Search Tree 验证二叉查找树
- lintcode validate-binary-search-tree 验证二叉查找树
- **[Lintcode]Validate Binary Search Tree 验证二叉查找树
- 【LeetCode】Validate Binary Search Tree 验证二叉查找树
- 11.Search Range in Binary Search Tree-二叉查找树中搜索区间(中等题)
- 判断二叉查找树的合法性 Validate Binary Search Tree
- Validate Binary Search Tree 有效的二叉查找树
- 二叉查找树——Validate Binary Search Tree
- 【LeetCode】Validate Binary Search Tree 二叉查找树的判断
- Validate Binary Search Tree--判断一个树是不是二叉查找树(重重重)
- LeetCode OJ 之 Validate Binary Search Tree (验证二叉搜索树)
- 【LeetCode-面试算法经典-Java实现】【098-Validate Binary Search Tree(验证二叉搜索树)】
- 二叉查找树(Binary Search Tree)
- 二叉查找树(Binary Search Tree)
- 163.Unique Binary Search Trees-不同的二叉查找树(中等题)
- 164.Unique Binary Search Trees II-不同的二叉查找树 II(中等题)
- Leetcode 98. Validate Binary Search Tree 验证二叉搜索树 解题报告
- uva 170
- Putty基础教程之(一).入门命令学习及编写HTML
- 用Construct 2制作一个升级版的坦克大战
- Leetcode 188. Best Time to Buy and Sell Stock IV
- CSS中的渐变效果
- 95.Validate Binary Search Tree-验证二叉查找树(中等题)
- 斐波那契数列
- code2
- 分布式一致性原理学习笔记(3)
- HDOJ 5929 Basic Data Structure 【2016CCPC东北地区赛】STL
- 如果你的电脑中有几个xcode版本
- 关于面向“专家”的实用技术与面向“大众”的普及技术
- Android中解决ListView等视图setOnItemClickListener()方法失效的问题
- how to get UDID