lintcode(95)验证二叉查找树
来源:互联网 发布:条码订货系统源码 编辑:程序博客网 时间:2024/05/20 13:40
描述:
给定一个二叉树,判断它是否是合法的二叉查找树(BST)
一棵BST定义为:
- 节点的左子树中的值要严格小于该节点的值。
- 节点的右子树中的值要严格大于该节点的值。
- 左右子树也必须是二叉查找树。
- 一个节点的树也是二叉查找树。
样例:
一个例子:
2 / \1 4 / \ 3 5
上述这棵二叉树序列化为 {2,1,4,#,#,3,5}
.
思路:
逐一排除 一旦不符合就返回false 参考网上代码
/** * 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 */ public int lastVal = Integer.MAX_VALUE; public boolean firstNode = true; public boolean isValidBST(TreeNode root) { // write your code here if(root == null){ return true; } if(!isValidBST(root.left)){ return false; } if(!firstNode && lastVal >= root.val){ return false; } //此时 root.val>=lastval 是右子树 firstNode = false; lastVal = root.val; if(!isValidBST(root.right)){ return false; } return true; }}
0 0
- lintcode-验证查找二叉树-95
- lintcode(95)验证二叉查找树
- LintCode 95-验证二叉查找树
- LintCode:验证二叉查找树
- LintCode : 验证二叉查找树
- Lintcode 验证二叉查找树
- 验证二叉查找树-LintCode
- 验证二叉查找树-LintCode
- LintCode 97 验证二叉查找树
- LINTCODE —— 验证二叉查找树
- LintCode-分治-验证二叉查找树
- 验证二叉查找树—LintCode
- lintcode validate-binary-search-tree 验证二叉查找树
- **[Lintcode]Validate Binary Search Tree 验证二叉查找树
- lintcode 二叉查找树总结
- lintcode二叉查找树总结
- 验证满二叉树-LintCode
- [LintCode]95.验证二叉查找树(二叉排序树/二叉搜索树) 中序遍历
- 数据库优化 SQL语句优化
- E
- Qt arm开发板远程调试
- 《大话数据结构》笔记(1)--数据结构绪论,算法
- Poj
- lintcode(95)验证二叉查找树
- mutex简介
- CI框架出现 No input file specified.
- python:【转载】python+Eclipse+pydev环境搭建
- WordPress提示500 Internal Server Error
- JNDI总结
- 关于AOSP 与AOKP
- 干货:解码OneData,阿里的数仓之路
- 各种常用第三方包地址