本文共 986 字,大约阅读时间需要 3 分钟。
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
示例 1:
输入: 2 / \ 1 3输出: true
示例 2:
输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。
验证二叉搜索树只需要储存中序遍历的结果,然后判断此数组是否有序即可。
java:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean isValidBST(TreeNode root) { Listlist=new ArrayList (); if(root==null) return true; intraverse (root,list); for (int i=0;i =list.get(i+1)) return false; return true; } public void intraverse (TreeNode root,List list) { if(root==null) return; intraverse (root.left,list); list.add(root.val); intraverse (root.right,list); }}
转载地址:http://yvaen.baihongyu.com/