首页 > 其他分享 >递归-二叉搜索树-leetcode98验证二叉搜索树

递归-二叉搜索树-leetcode98验证二叉搜索树

时间:2023-06-08 11:02:02浏览次数:86  
标签:leetcode98 right TreeNode val 二叉 搜索 null root 节点


//leetcode submit region begin(Prohibit modification and deletion)
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
 
 思路:搜索树,左子树小于根节点,右子树大于根节点,根据这个特性去做
 
class Solution {
    public boolean isValidBST(TreeNode root) {
        return isValid(root,null,null);
    }

    boolean isValid(TreeNode root,TreeNode min,TreeNode max){
        if(root==null){
            return true ;
        }
        //节点的左子树只包含 小于 当前节点的数。
        if(min!=null && min.val>=root.val){
            return false;
        }
        //节点的右子树只包含 大于 当前节点的数。
        if(max!=null && max.val<=root.val){
            return false;
        }

        return isValid(root.left,min,root)&&isValid(root.right,root,max);
    }
}
//leetcode submit region end(Prohibit modification and deletion)
 

标签:leetcode98,right,TreeNode,val,二叉,搜索,null,root,节点
From: https://www.cnblogs.com/xiaoshahai/p/17465566.html

相关文章

  • 算法学习day14二叉树part01-94、144、145
    packageLeetCode.Treepart01;importjava.util.ArrayList;importjava.util.List;publicclassTraversal{publicList<Integer>preorderTraversal(TreeNoderoot){List<Integer>result=newArrayList<Integer>();pre......
  • 二叉树的性质
    性质1: 在二叉树的第i层至多有2^(i-1)个节点  ,至少有1个节点               (度:节点拥有的子节点的个数)性质2:在深度为k的二叉树中,至多有2^k-1个节点,至少有k个节点性质3:对任何一颗二叉树,叶子个数为n0,度数为2的节点个数为n......
  • R语言进行支持向量机回归SVR和网格搜索超参数优化|附代码数据
    全文链接:http://tecdat.cn/?p=23305最近我们被客户要求撰写关于支持向量机回归的研究报告,包括一些图形和统计输出。在这篇文章中,我将展示如何使用R语言来进行支持向量回归SVR我们将首先做一个简单的线性回归,然后转向支持向量回归,这样你就可以看到两者在相同数据下的表现。一个......
  • 3. 搜索与图论(I)
    3.1DFS(深度优先搜索)例题:AcWing842.排列数字题目:给你一个数\(n\),按字典序将长度为\(n\)的全排列全部输出。\(1\len\le9\)。思路:运用DFS暴力搜索即可,时间复杂度\(O(n!)\)。图3-1(图源:AcWing@Hasity)如图\(\texttt{3-1}\)展示了\(n=3\)时的搜索过程:初始时......
  • 代码随想录算法训练营第十五天|● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉
    102.二叉树的层序遍历力扣题目链接(opensnewwindow)给你一个二叉树,请你返回其按层序遍历得到的节点值。(即逐层地,从左到右访问所有节点)。思路:迭代法,非递归思路,借用队列,先进先出来达到层序遍历的效果。但写的过程中,我不知道该如何让同一层的数据都保存在一个数组里。看了题解发......
  • 二叉树
    (不是太太太理解)1、结构体定义typedefstructBiTNode{TElemTypedata;structBiTNode*lchild,*rchild;}BiTNode;2、构造二叉树intCreateBTree(BiTNode**tp)//?{//构造方法,或者说构造顺序,从左子树开始构造intx;printf("pleaseinpyutint......
  • 数据结构与算法-06树及二叉树
    树和二叉树完全二叉树:除了最下层,每一层都满了满二叉树:每一层都满了平衡二叉树:任意两个节点的高度差不大于1排序二叉树:链式存储常见应用场景xml/html解析路由协议mysql数据库索引文件系统结构二叉树在二叉树的第i层上至多有2^(i-1)个结点深度为k的二叉树......
  • 【锐格】数据结构-实验-二叉树
    7075#include<iostream>#include<cstdio>usingnamespacestd;typedefstructTNode{chardata;structTNode*lchild,*rchild;}BiNode,*BiTree;BiTreeT;voidcreateTree(BiTree&T){charch;cin>>ch;if(ch==&#......
  • 30. 平衡二叉树
    一、什么是平衡二叉树  平衡二叉树(BalanceFactorTree,简称AVL树)是一个特殊的二叉树,它可以是空树。如果不为空,它任一节点左、右子树高度差的绝对值不超过1,即|BF(T)|≤1。其中,BF是指平衡因子(BalanceFactory):\(BF(T)=h_{L}-h_{R}\),其中\(h_{L}\)和\(h_{R}\)分别为......
  • #yyds干货盘点# LeetCode程序员面试金典:二叉树的右视图
    1.简述:给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例1:输入: [1,2,3,null,5,null,4]输出: [1,3,4]示例2:输入: [1,null,3]输出: [1,3]示例3:输入: []输出: []2.代码实现:classSolution{publicList<I......