判断一棵树是不是查询二叉树。采用中序遍历的方法,查询二叉树中序遍历的结果为单调递增,这题的测试用例要求的是严格单调递增。此题与99
题有些类似,设置pre指针指向前一个被访问的节点即可,判断前一个节点与当前节点是否满足顺序。代码如下:
public class Solution {
TreeNode pre = null;
public boolean isValidBST(TreeNode root) {
if(root==null){
return true;
}
boolean left = isValidBST(root.left);
if(pre!=null && pre.val>=root.val){
return false;
}
pre = root;
boolean right = isValidBST(root.right);
return left&&right;
}
}