1. 程式人生 > 其它 >判斷是不是二叉搜尋樹

判斷是不是二叉搜尋樹

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;             }         }     } }