public BT(int root, int left, int right){
this.left = new BT(left);
this.right = new BT(right);
leftStr = left.PrintBT();
rightStr = right.PrintBT();
return leftStr + "-" + data + "-" + rightStr;
public static void Main()
Console.WriteLine(t.PrintBT());
Console.WriteLine(IsBST(t, int.MinValue, int.MaxValue));
t2.left = new BT(30,25,35);
t2.right = new BT(50,45,60);
Console.WriteLine(t2.PrintBT());
Console.WriteLine(IsBST(t2, int.MinValue, int.MaxValue));
public static bool IsBST(BT tree, int min, int max){
if (tree.data < min || tree.data > max)
return IsBST(tree.left, min, tree.data-1) && IsBST(tree.right, tree.data+1, max);