98. Validate Binary Search Tree
2017-03-24 21:48
246 查看
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:
Binary tree
return true.
/**
* 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) {
List<Integer> re=new ArrayList<Integer>();
fun(re, root);
for(int i=0;i<re.size()-1;++i){
if(re.get(i)>=re.get(i+1))
return false;
}
return true;
}
static void fun(List<Integer> re,TreeNode root){
if(root!=null){
fun(re, root.left);
re.add(root.val);
fun(re, root.right);
}
}
}
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 3
Binary tree
[2,1,3],
return true.
/**
* 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) {
List<Integer> re=new ArrayList<Integer>();
fun(re, root);
for(int i=0;i<re.size()-1;++i){
if(re.get(i)>=re.get(i+1))
return false;
}
return true;
}
static void fun(List<Integer> re,TreeNode root){
if(root!=null){
fun(re, root.left);
re.add(root.val);
fun(re, root.right);
}
}
}
相关文章推荐
- 98. Validate Binary Search Tree
- [Leetcode] 98. Validate Binary Search Tree 解题报告
- leetcode 98. Validate Binary Search Tree
- Leetcode 98. Validate Binary Search Tree 验证二叉搜索树 解题报告
- LeetCode - 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree(通过确定上下界进行递归)
- LeetCode 98. Validate Binary Search Tree
- [LeetCode] 98. Validate Binary Search Tree 验证二叉搜索树
- [leetcode] 98. Validate Binary Search Tree 解题报告
- 98. Validate Binary Search Tree
- [LeetCode] 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- [LeetCode]173. Binary Search Tree Iterator
- leetcode——173——Binary Search Tree Iterator
- 98. Validate Binary Search Tree-leetcode-java
- 如何使用C++递归来实现在BST(Binary Search Tree)里将所有的叶子节点上的数字求和
- 动态查找---->二叉查找树(Binary Search Tree)
- LeetCode 98. Validate Binary Search Tree(校验二叉搜索树)
- LeetCode: Binary Search Tree Iterator
- 98. Validate Binary Search Tree(提交了好几次,终于.....)