diff --git a/avl.py b/avl.py index 5445168..eda3a63 100644 --- a/avl.py +++ b/avl.py @@ -29,7 +29,11 @@ class AVLTree(RankedTree[T]): if not node: return True - if not (-1 <= _balance_factor(node) <= 1): + if not ( + -1 <= _balance_factor(node) <= 1 + and node.rank + == 1 + max(Node.get_rank(node.left), Node.get_rank(node.right)) + ): return False return not recursive or (