Skip to content

Commit 0ccde12

Browse files
Fixes; is_valid_tree >>> assert_tree
1 parent 5fb743d commit 0ccde12

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

src/merge_k_sorted_lists.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"""
6666

6767
import heapq
68+
from typing import Self
6869

6970
from src.classes import ListNode
7071

@@ -79,7 +80,7 @@ class HeapNode:
7980
def __init__(self, node: ListNode):
8081
self.node: ListNode = node
8182

82-
def __lt__(self, other: "HeapNode") -> bool:
83+
def __lt__(self, other: Self) -> bool:
8384
return self.node.val < other.node.val
8485

8586

tests/test_construct_binary_tree_from_preorder_and_inorder_traversal.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@
77
from unittest import TestCase
88

99
from src.construct_binary_tree_from_preorder_and_inorder_traversal import Solution
10-
from tests.utils import is_valid_tree
10+
from tests.utils import assert_tree
1111

1212

1313
class TestSolution(TestCase):
1414
def test_1(self):
1515
exp = [3, 9, 20, None, None, 15, 7]
16-
is_valid_tree(Solution().buildTree(preorder=[3, 9, 20, 15, 7], inorder=[9, 3, 15, 20, 7]), 0, exp)
16+
assert_tree(Solution().buildTree(preorder=[3, 9, 20, 15, 7], inorder=[9, 3, 15, 20, 7]), exp)
1717

1818
def test_2(self):
1919
exp = [-1]
20-
is_valid_tree(Solution().buildTree(preorder=[-1], inorder=[-1]), 0, exp)
20+
assert_tree(Solution().buildTree(preorder=[-1], inorder=[-1]), exp)
2121

2222
def test_3(self):
2323
exp = [1, None, 2]
24-
is_valid_tree(Solution().buildTree(preorder=[1, 2], inorder=[1, 2]), 0, exp)
24+
assert_tree(Solution().buildTree(preorder=[1, 2], inorder=[1, 2]), exp)

tests/utils.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,17 @@ def create_bfs_list_from_binary_tree(*, root: TreeNode | None, values_only: bool
131131
return l
132132

133133

134-
def is_valid_tree(root: TreeNode | None, i: int, exp: list[T | None]) -> None:
134+
def assert_tree(root: TreeNode | None, exp: list[T | None]) -> None:
135135
"""
136-
Given a list of values in pre-order traversal, assert that the tree is
137-
valid. Gaps in the tree are denoted by None.
136+
Given a list of values in level-order traversal, assert that the tree
137+
matches the expected values. Gaps in the tree should be denoted by None.
138138
"""
139-
if not root:
140-
return None
141-
assert root.val == exp[i]
142-
is_valid_tree(root.left, 2 * i + 1, exp)
143-
is_valid_tree(root.right, 2 * i + 2, exp)
139+
140+
def _assert_tree(root: TreeNode | None, i: int, exp: list[T | None]) -> None:
141+
if not root:
142+
return None
143+
assert root.val == exp[i]
144+
_assert_tree(root.left, 2 * i + 1, exp)
145+
_assert_tree(root.right, 2 * i + 2, exp)
146+
147+
_assert_tree(root, 0, exp)

0 commit comments

Comments
 (0)