判断一棵树是否是二叉查找树
2016-03-30 18:55
381 查看
判断一棵树是否是二叉查找树
利用该节点对应的最大值和最小值来判断该节点是否符合二叉查找树的性质。
利用二叉树中序遍历的性质:当前遍历的节点值比上次遍历的节点值大。
利用该节点对应的最大值和最小值来判断该节点是否符合二叉查找树的性质。
public boolean isValidBST(TreeNode root) { return validateRange(root, Long.MIN_VALUE, Long.MAX_VALUE); } private boolean validateRange(TreeNode root, long min, long max) { if (root == null) return true; if (root.val <=min || root.val >= max)) return false; return validateRange(root.left, min, (long) root.val) && validateRange(root.right, (long) root.val, max); }
利用二叉树中序遍历的性质:当前遍历的节点值比上次遍历的节点值大。
public static boolean judgeBST(TreeNode root,int pre){ if(root==null)return true; boolean left=judgeBST(root.left,pre); if(!left)return false; if(root.val<=pre)return false; pre=root.val; boolean right=judgeBST(root.right,pre); if(!right)return false; return true; }
相关文章推荐
- Leetcode-98. Validate 4000 Binary Search Tree
- Oracle之高级查询
- spring学习
- 微信支付v3开发(6) 收货地址共享接口
- 微信支付v3开发(6) 收货地址共享接口
- puppet的概述和架构
- 借助链表解决猴子选大王问题(约瑟夫环问题)
- 装饰模式笔试
- 项目4-长方柱类
- 常见linux笔试题-100道选择题-(答案见最后)
- Java泄露及造成内存泄露的原因
- IOS学习之——静态单元格
- Cstring到string
- Java 模板引擎总结
- android日期格式化
- URL.createObjectURL和URL.revokeObjectURL
- IOS学习之——通知中心NSNotificationCenter
- jsp页面用el表达式获取枚举的code
- 文档在线预览的实现
- static关键字