# Question

Formatted question description: https://leetcode.ca/all/333.html

Medium

## Description

Given a binary tree, find the largest subtree which is a Binary Search Tree (BST), where largest means subtree with largest number of nodes in it.

Note:

A subtree must include all of its descendants.

Example:

Input: [10,5,15,1,8,null,7]

10
/ \
5  15
/ \   \
1   8   7

Output: 3
Explanation: The Largest BST Subtree in this case is the subtree [5,1,8]. The return value is the subtree's size, which is 3.


Can you figure out ways to solve it with O(n) time complexity?

# Algorithm

For each node, verify whether it is BST, and if it is, count the number of nodes.

Java