验证二叉搜索树BST
leetcode98
中序遍历,如果有降序就不是
class Solution {
long preValue = Long.MIN_VALUE;
public boolean isValidBST(TreeNode root) {
if(root == null)
return true;
boolean isLeft = isValidBST(root.left);
if(!isLeft)
return false;
if(preValue >= root.val){
return false;
}
else
preValue = root.val;
return isValidBST(root.right);
}
}
验证完全二叉树
定义:只有最后一层不满
BFS
只有右节点,无左节点;
在1前提下,若遇到左右节点不全,则后续节点都得为叶节点
public boolean isCST(TreeNode root){
if(root == null)
return true;
//判断是否遇到子节点不全得情况
boolean leaf = false;
Queue<TreeNode> queue = new LinkedList<>();
queue.add