98. 验证二叉搜索树
package leetcode; import java.util.Stack; public class demo_98 { public boolean isValidBST(TreeNode root) { Stack<TreeNode> stack=new Stack<TreeNode>(); int cur=0; int pre=0; int flag=1; while(!stack.isEmpty()||root!=null) { //中序遍历有序则为二叉搜索树 while(root!=null) { stack.push(root); root=root.left; } if(!stack.isEmpty()) { root=stack.pop(); cur=root.val; //第一次弹出值的时候,不比较 if(flag==1) { flag=0; } //比较当前元素和上一个元素大小 else if(pre>=cur) { return false; } pre=cur; root=root.right; } } return true; } }
浙公网安备 33010602011771号