中序遍歷是升序便可java
使用二叉樹遍歷的非遞歸版本更方便判斷blog
採用二叉樹的中序遍歷的非遞歸版本,在其中打印的位置用比較大小代替便可遞歸
public class IsBSTTree { public static boolean isBSTTree(Tree tree){ if(tree == null) return true; Stack<Tree> stack = new Stack<>(); int preNode = Integer.MIN_VALUE; while(!stack.empty() || tree != null){ if(tree != null){ stack.push(tree); tree = tree.left; }else{ tree = stack.pop(); if(preNode > tree.val){ return false; } preNode = tree.val; tree = tree.right; } } return true; } }