public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return bool布尔型
*/
public boolean isValidBST (TreeNode root) {
// write code here
if(root==null) return true;
Queue<TreeNode> queue=new LinkedList<>();
queue.add(root);
while(!queue.isEmpty()){
int count=queue.size();
TreeNode node=queue.poll();
while(count!=0){
int cur=node.val;
if(node.left!=null){
int left=getValue(node.left);
if(cur<=left) return false;
queue.add(node.left);
}
if(node.right!=null){
int right=getValue(node.right);
if(cur>=right) return false;
queue.add(node.right);
}
count--;
}
}
return true;
}
private int getValue(TreeNode root){
return root.val;
}