首页 > 其他分享 >面试必刷TOP101:34、判断是不是二叉搜索树

面试必刷TOP101:34、判断是不是二叉搜索树

时间:2023-11-27 23:31:31浏览次数:25  
标签:pre curr 34 boolean return 必刷 null inorder TOP101

题目

面试必刷TOP101:34、判断是不是二叉搜索树_二叉搜索树

题解

public class Solution {

    private TreeNode pre = null;
    /**
     * 给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树
     *
     *
     * @param root TreeNode类
     * @return bool布尔型
     */
    public boolean isValidBST (TreeNode root) {
        if (null == root) {
            return false;
        }
        return inorder(root);
    }

    public boolean inorder(TreeNode curr) {
        if (null == curr) {
            return true;
        }
        boolean isLeftOK = inorder(curr.left);
        if (pre != null && pre.val >= curr.val) {
            return false;
        }
        pre = curr;
        boolean isRightOK = inorder(curr.right);
        return isLeftOK && isRightOK;
    }

}

标签:pre,curr,34,boolean,return,必刷,null,inorder,TOP101
From: https://blog.51cto.com/u_16244372/8589603

相关文章

  • Snowflake Snow Snowflakes[PKUOJ 3349]
    这是一道蓝书上的哈希例题。相对简单。题面DescriptionYoumayhaveheardthatnotwosnowflakesarealike.Yourtaskistowriteaprogramtodeterminewhetherthisisreallytrue.Yourprogramwillreadinformationaboutacollectionofsnowflakes,andsear......
  • 面试必刷TOP101:33、二叉树的镜像
    题目题解publicTreeNodeMirror(TreeNodepRoot){if(pRoot==null){returnnull;}TreeNoderoot=newTreeNode(pRoot.val);root.left=Mirror(pRoot.right);root.right=Mirror(pRoot.left);retur......
  • 聪明办法学python-task034
    python要点conda![1700559481851](C:\Users\25322\Documents\WeChatFiles\wxid_xc71h7t6nm2i22\FileStorage\Temp\1700559481851.png)注释单行注释以#开头多行注释可以用多个#号,还有'''和""".程序员最讨厌的10件事:0:别人的代码不写注释​......
  • 解决google启动自动拦截打开hao123,360,2345等页面问题
    这里只有干货,直接上流程,希望能帮到不曾谋面的朋友1.流程一:2.流程二:3.流程三:生成了一个副本4.流程四:5.流程五:双击打开就可以了**6.流程六:留下你宝贵的脚印**......
  • 代码随想训练营第三十九天(Python)| 62.不同路径、63. 不同路径 II、343. 整数拆分
    62.不同路径classSolution:defuniquePaths(self,m:int,n:int)->int:#dp[i][j]代表到达dp[i][j]有多少不同路径dp=[[0]*nfor_inrange(m)]#初始化foriinrange(m):dp[i][0]=1forjinra......
  • COMP 340 操作系统 Bounded Buffer问题解决
    这里有3个发生器,每个发生器独立地产生一种独特的材料。所有这些材料在被转发给操作员之前被存储在大小为10的输入缓冲器中。我们有三个具有相同优先级的运营商,他们负责生产基于这些材料。每种产品需要2种不同的材料。每次操作员需要2个用于此目的的工具。总共为这些操作员提供了3......
  • 面试必刷TOP101:30、二叉搜索树与双向链表
    题目题解/*思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同*左子树的右子树和右子树的左子树相同即可,采用递归*非递归也可,采用栈或队列存取各级子树根节点*/publicclassSolution{ booleanisSymmetrical(TreeNodepRoot) { if(pRoot==null){ re......
  • P2234 [HNOI2002] 营业额统计
    P2234[HNOI2002]营业额统计题解思路对原数组排序,记录下排序前的位置。对排序后的数组构造链表。从原数组的\(n\)往\(1\)枚举,比较排序生成链表中该元素的前驱或后继与该元素差值的最小值,加入答案。在排序生成的链表中删除该元素。正确性的疑惑一开始很困惑,难道排序......
  • [Mac软件]Downie 4.6.34视频下载工具
    以下是关于Downie软件的介绍:Downie是一款非常实用的视频下载软件,专门为Mac用户设计。这款软件的使用方法非常简单,只需要将想要下载的视频链接复制到Downie的界面,它就能够自动下载。Downie最大的特点就是支持的网站非常多,目前已经支持上千个不同的网站,包括一些主流的视频分享网站,比......
  • 【树链剖分】P3401 洛谷树 题解
    P3401考虑先将路径权值进行转化,因为很难对路径直接进行统计。考虑如何表示出这条路径的权值。记\(s_i=\oplus_{j\in\text{path}(1,i)}w_j\),其中\(\text{path}(i,j)\)表示\(i\)到\(j\)的路径上的边集。则\(u\tov\)的路径的权值为\(s_u\opluss_v\)。现在转变为......