Skip to content

Commit 3e32ffd

Browse files
committed
fix(treap): fixes for mypy type checker
1 parent fe04101 commit 3e32ffd

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

project/treap.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,21 @@ def split(self, root: Optional[TreapNode], key):
9696
def merge(self, left: Optional[TreapNode], right: Optional[TreapNode]):
9797
if left is None:
9898
return right
99-
if right is None:
100-
return left
101-
if left.value > right.value:
102-
left.right = self.merge(left.right, right)
99+
elif right is None:
103100
return left
104101
else:
105-
right.left = self.merge(right.left, left)
106-
return right
102+
if (left.value is None) | (right.value is None):
103+
return None
104+
105+
assert left.value is not None
106+
assert right.value is not None
107+
108+
if left.value > right.value:
109+
left.right = self.merge(left.right, right)
110+
return left
111+
else:
112+
right.left = self.merge(right.left, left)
113+
return right
107114

108115
def find(self, root: Optional[TreapNode], key):
109116
if root is None:

0 commit comments

Comments
 (0)