blob: 55e4358cea028d2dc56835968cb2a940a79257e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Node:
def __init__(self, value, left=None, right=None):
self.value = value
self.left = left
self.right = right
def is_bst(node, min_val=float('-inf'), max_val=float('inf')):
if node is None:
return True
if not min_val <= node.value <= max_val:
return False
return is_bst(node.left, min_val, node.value - 1) and is_bst(node.right, node.value + 1, max_val)
tree = Node(8, Node(5, Node(4), Node(6)), Node(9))
print(1 if is_bst(tree) else 0)
|