Letcode 98 Validate Binary Search Tree
来源:互联网 发布:红蜘蛛软件安装 编辑:程序博客网 时间:2024/05/14 09:57
Given a binary tree, determine if it is a valid binary search tree (BST).
Assume a BST is defined as follows:
- The left subtree of a node contains only nodes with keys less than the node's key.
- The right subtree of a node contains only nodes with keys greater than the node's key.
- Both the left and right subtrees must also be binary search trees.
Example 1:
2 / \ 1 3Binary tree
[2,1,3]
, return true.Example 2:
1 / \ 2 3
Binary tree [1,2,3]
, return false.判断是否是BST,有一个地方要注意的是
左子树所有的value都比root小,反之亦然
我觉得自己写的真是太啰嗦了
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public boolean isValidBST(TreeNode root) { return helper(root,null,null); } private boolean helper(TreeNode root, Integer min, Integer max){ if(root == null){ return true; } if(min == null && max != null && root.val >= max){ return false; } if(min != null && max == null && root.val <= min){ return false; } if(min != null && max != null){ if(root.val <= min || root.val >= max) return false; } return helper(root.right, root.val, max) && helper(root.left, min, root.val ); }}
看看漂亮的写法
private boolean help(TreeNode p, Integer low, Integer high) { if (p == null) return true; return (low == null || p.val > low) && (high == null || p.val < high) && help(p.left, low, p.val) && help(p.right, p.val, high);}public boolean isValidBST(TreeNode root) { return help(root, null, null);}
阅读全文
0 0
- Letcode 98 Validate Binary Search Tree
- 98Validate Binary Search Tree
- 98 Validate Binary Search Tree
- 98 Validate Binary Search Tree
- 98 Validate Binary Search Tree
- 98 Validate Binary Search Tree
- letcode之Recover Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- 将 Windows 的 thinkPHP 项目上传至 Linux 服务器遇到的问题及解决方法
- fastJson——使用,过滤,多级过滤
- 欢迎使用CSDN-markdown编辑器
- 剑指offer-02-将一个字符串中的空格替换成“%20”
- 欢迎使用CSDN-markdown编辑器
- Letcode 98 Validate Binary Search Tree
- leetcode Algorithms 5. Longest Palindromic Substring
- RN小数转中文数字(0.001=>千分之一)
- mysql对表进行添加字段、添加索引和添加外键
- 【备忘】尚学堂白贺翔java互联网架构师视频教程下载
- 数组
- ionic build android (或cordova build android)报错:Error: Could not find an installed version of Gradle
- Android性能优化和内存优化
- MyEclipse 2014取消xml, js, JSON等验证