tvl-depot/users/wpcarro/scratch/facebook/interview-cake/bst-checker.py
Vincent Ambo 019f8fd211 subtree(users/wpcarro): docking briefcase at '24f5a642'
git-subtree-dir: users/wpcarro
git-subtree-mainline: 464bbcb15c
git-subtree-split: 24f5a642af
Change-Id: I6105b3762b79126b3488359c95978cadb3efa789
2021-12-14 02:15:47 +03:00

14 lines
412 B
Python

def is_valid(node):
"""
Return True if `node` is a valid binary search tree.
"""
s = []
s.append((float('-inf'), node, float('inf')))
while s:
lo, node, hi = s.pop()
if lo <= node.value <= hi:
node.lhs and s.append((lo, node.lhs, node.value))
node.rhs and s.append((node.value, node.rhs, hi))
else:
return False
return True