98. Validate Binary Search Tree

Given a binary tree, determine if it is a valid binary search tree (BST).

Assume a BST is defined as follows:

  • The left subtree of a node contains only nodes with keys less than the node's key.
  • The right subtree of a node contains only nodes with keys greater than the node's key.
  • Both the left and right subtrees must also be binary search trees.

Example 1:

    2
   / \
  1   3

Binary tree [2,1,3], return true.

Example 2:

    1
   / \
  2   3

Binary tree [1,2,3], return false.

题目含义:判断一个二叉树是否为二叉搜索树

思路:按照中序将树转换为数组,然后判断是否为递增

 

复制代码
 1     public void inorder(TreeNode root) {
 2         if (root == null) return;
 3         inorder(root.left);
 4         values.add(root.val);
 5         inorder(root.right);
 6     }
 7     
 8     public boolean isValidBST(TreeNode root) {
 9         inorder(root);
10         for (int i = 0; i < values.size() - 1; i++) {
11             if (values.get(i) >= values.get(i + 1)) return false;
12         }
13         return true;        
14     }
复制代码

 

posted @   daniel456  阅读(86)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示