题解 | #判断是不是二叉搜索树#
判断是不是二叉搜索树
https://www.nowcoder.com/practice/a69242b39baf45dea217815c7dedb52b
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return bool布尔型 */ public TreeNode pre=null; public TreeNode head=null; public boolean pdfs(TreeNode root){ if(root==null){ return true; } if(!pdfs(root.left)){ return false; } if(head == null){ head = root; pre = root; // return true; }else{ if (pre.val >= root.val){ return false; } pre.right = root; // root.left = pre; pre =root; } if(!pdfs(root.right)){ return false; } return true; } public boolean isValidBST (TreeNode root) { // write code here if(root ==null){ return true; } if(!pdfs(root)){ return false; } return true; } }