LeetCode题目-98

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2017-09-08 14:08:25

简介 LeetCode题目-98


Leetcode基础刷题之PHP解析(98. Validate Binary Search Tree)


.

✏题目描述

检验一个树是不是二叉查找树

✏题目实例


✏题目分析

思路有两种,二叉查找树的特点就是左子树上的结点都小于根结点,右子树上的结点都大于根节点。所以有两个方向,可以分别递归的判断左子树,右子树。或者拿左子树上的最大值,右子树上的最小值分别对应根结点进行判断。


✏最终实现代码

   /**
    * Definition for a binary tree node.
    * class TreeNode {
    *     public $val = null;
    *     public $left = null;
    *     public $right = null;
    *     function __construct($value) { $this->val = $value; }
    * }
    */
   class Solution {
   
       /**
        * @param TreeNode $root
        * @return Boolean
        */
       function isValidBST($root) {
          return $this->helper($root,null,null);
       }
       
       function helper($root,$lower,$upper){
           if($root==null) return true;
           $res=$root->val;
           if($lower !==null && $res<=$lower) return false;
           if($upper !==null && $res>=$upper) return false;
           if(!$this->helper($root->left,$lower,$res)) return false;
           if(!$this->helper($root->right,$res,$upper)) return false;
           return true;
       }
   }

转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云