判斷是不是二叉搜尋樹
阿新 • • 發佈:2022-11-30
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 boolean isValidBST (TreeNode root) { // write code here if(root ==null){ return true; } else if(root.left==null && root.right==null){ return true; } else if(root.left==null && root.right!=null){ if(root.right.val<root.val){ return false; } else{ return isValidBST(root.right); } } else if(root.left!=null && root.right==null){ if(root.left.val>root.val) { return false; } else{ return isValidBST(root.left); } } else { if(root.left.val<root.val && root.val<root.right.val){ if(root.left.right!=null && root.left.right.val>root.val){ return false; } if(root.right.left!=null && root.right.left.val<root.val){ return false; } return true; }else{ return false; } } } }
/* * 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 boolean isValidBST (TreeNode root) { // write code here if(root ==null){ return true; } else if(root.left==null && root.right==null){ return true; } else if(root.left==null && root.right!=null){ if(root.right.val<root.val){ return false; } else{ return isValidBST(root.right); } } else if(root.left!=null && root.right==null){ if(root.left.val>root.val) { return false; } else{ return isValidBST(root.left); } } else { if(root.left.val<root.val && root.val<root.right.val){ if(root.left.right!=null && root.left.right.val>root.val){ return false; } if(root.right.left!=null && root.right.left.val<root.val){ return false; } return true; }else{ return false; } } } }