git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
		
			
				
	
	
		
			14 lines
		
	
	
	
		
			412 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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
 |