关闭

Middle-题目117:98. Validate Binary Search Tree

67人阅读 评论(0) 收藏 举报
分类:

题目原文:
Given a binary tree, determine if it is a valid binary search tree (BST).
题目大意:
给出一个二叉树,判断是不是合法的二叉搜索树。
题目分析:
看中序遍历是否递增。
源码:(language:java)

public class Solution {
    public boolean isValidBST(TreeNode root) {
        List<Integer> list = new ArrayList<Integer>();
        inOrderVisit(list,root);
        return isSortedList(list);
    }
    private void inOrderVisit(List<Integer> list, TreeNode node) {
        if(node!=null) {
            inOrderVisit(list, node.left);
            list.add(node.val);
            inOrderVisit(list, node.right);
        }
    }
    private boolean isSortedList(List<Integer> list) {
        if(list.size()<2)
            return true;
        else {
            for(int i = 0;i<list.size()-1;i++) {
                if(list.get(i)>=list.get(i+1))
                    return false;
            }
            return true;
        }
    }
}

成绩:
4ms,beats 12.79%,众数1ms,72.10%

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:55607次
    • 积分:3195
    • 等级:
    • 排名:第10669名
    • 原创:270篇
    • 转载:53篇
    • 译文:0篇
    • 评论:7条
    文章分类
    最新评论