博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Validate Binary Search Tree
阅读量:5341 次
发布时间:2019-06-15

本文共 1092 字,大约阅读时间需要 3 分钟。

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.
  • A single node tree is a BST
Example

An example:

2 / \1   4   / \  3   5

The above binary tree is serialized as {2,1,4,#,#,3,5} (in level order).

分析:

解题思路可以根据bst的特性来,对于每个子树,我们给他们一个最小和最大的范围。

1 public class Solution { 2     public boolean isValidBST(TreeNode root) { 3         return vilidateChild(root, Long.MIN_VALUE, Long.MAX_VALUE); 4     } 5      6     public boolean vilidateChild(TreeNode node, long min, long max) { 7         if (node == null) return true; 8         if (node.val < max && node.val > min) { 9             return vilidateChild(node.left, min, node.val) && vilidateChild(node.right, node.val, max);10         } else {11             return false;12         }13     }14 }

 

转载于:https://www.cnblogs.com/beiyeqingteng/p/5652529.html

你可能感兴趣的文章
Android快照与截屏
查看>>
Safari 3D transform变换z-index层级渲染异常的研究
查看>>
cmd命令行--切换盘符
查看>>
老王讲架构:负载均衡
查看>>
poj 3295 Tautology
查看>>
hdu 吃糖果
查看>>
[LeetCode] Reverse Linked List II
查看>>
CSS IE6/7/8, Firefox, Safari, Chrome, Opera Hack使用简要归纳(转)
查看>>
ACE admin 后台管理框架
查看>>
ASP.NET Core学习之二 菜鸟踩坑
查看>>
转:redis windows下的环境搭建
查看>>
改变图片效果
查看>>
Python的数据类型--数字--字符串
查看>>
session的方法
查看>>
Lucene的步骤
查看>>
spring的依赖注入
查看>>
redis 的安装
查看>>
C++ 中 new 操作符内幕:new operator、operator new、placement new
查看>>
你可能忽略的json的坑!!!
查看>>
CentOS 安装man man-pages
查看>>