Leetcode 98.验证二叉搜索树
Posted kexinxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 98.验证二叉搜索树相关的知识,希望对你有一定的参考价值。
验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
- 节点的左子树只包含小于当前节点的数。
- 节点的右子树只包含大于当前节点的数。
- 所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入:
2
/
1 3
输出: true
示例 2:
输入:
5
/
1 4
/
3 6
输出: false
解释: 输入为: [5,1,4,null,null,3,6]。
根节点的值为 5 ,但是其右子节点值为 4 。
1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int val; 5 * TreeNode left; 6 * TreeNode right; 7 * TreeNode(int x) { val = x; } 8 * } 9 */ 10 class Solution { 11 public boolean isValidBST(TreeNode root){ 12 return isValidBST(root,Long.MIN_VALUE,Long.MAX_VALUE); 13 } 14 15 public boolean isValidBST(TreeNode root,long minVal,long maxVal){ 16 if(root==null) return true; 17 if(root.val>=maxVal|| root.val<=minVal) return false; 18 return isValidBST(root.left,minVal,root.val) && isValidBST(root.right,root.val,maxVal); 19 } 20 }
以上是关于Leetcode 98.验证二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章