コード例 #1
0
def validator(
    isSubtree: Callable[[Optional[TreeNode], Optional[TreeNode]], bool],
    inputs: tuple[list[Optional[int]], list[Optional[int]]],
    expected: bool,
) -> None:
    tree_vals, subtree_vals = inputs
    tree = build_tree(tree_vals)
    subtree = build_tree(subtree_vals)

    output = isSubtree(tree, subtree)
    assert output == expected, (output, expected)
コード例 #2
0
def validator(
    _: object,
    inputs: tuple[list[Optional[int]]],
    expected: list[Optional[int]],
) -> None:
    values, = inputs
    tree = build_tree(values)

    codec = Codec()
    output_tree = codec.deserialize(codec.serialize(tree))
    expected_tree = build_tree(expected)

    tree_values = [node.val for node in traverse(output_tree)]
    expected_values = [node.val for node in traverse(expected_tree)]
    assert tree_values == expected_values, (tree_values, expected_values)
コード例 #3
0
def validator(
    kthSmallest: Callable[[Optional[TreeNode], int], int],
    inputs: tuple[list[Optional[int]], int],
    expected: int,
) -> None:
    values, k = inputs
    tree = build_tree(values)
    output = kthSmallest(tree, k)
    assert output == expected, (output, expected)
コード例 #4
0
def validator(
        inorderTraversal: Callable[[Optional[TreeNode]], list[int]],
        inputs: tuple[list[Optional[int]]],
        expected: list[int],
) -> None:
    values, = inputs
    tree = build_tree(values)
    output = inorderTraversal(tree)
    assert output == expected, (output, expected)
コード例 #5
0
def validator(
    levelOrder: Callable[[Optional[TreeNode]], list[list[int]]],
    inputs: tuple[list[Optional[int]]],
    expected: list[list[int]],
) -> None:
    values, = inputs
    tree = build_tree(values)
    output = levelOrder(tree)
    assert output == expected, (output, expected)
コード例 #6
0
def validator(
        isSymmetric: Callable[[Optional[TreeNode]], bool],
        inputs: tuple[list[Optional[int]]],
        expected: bool
) -> None:
    values, = inputs
    tree = build_tree(values)
    output = isSymmetric(tree)
    assert output == expected, (output, expected)
コード例 #7
0
def validator(
    rightSideView: Callable[[Optional[TreeNode]], list[int]],
    inputs: tuple[list[Optional[int]]],
    expected: list[int],
) -> None:
    nums, = inputs
    root = build_tree(nums)

    output = rightSideView(root)
    assert output == expected, (output, expected)
コード例 #8
0
def validator(
    buildTree: Callable[[list[int], list[int]], Optional[TreeNode]],
    inputs: tuple[list[int], list[int]],
    expected: list[Optional[int]],
) -> None:
    preorder, inorder = inputs
    tree = buildTree(preorder, inorder)
    expected_tree = build_tree(expected)

    tree_values = [node.val for node in traverse(tree)]
    expected_values = [node.val for node in traverse(expected_tree)]
    assert tree_values == expected_values, (tree_values, expected_values)
def validator(
        lowestCommonAncestor: Callable[[TreeNode, TreeNode, TreeNode], TreeNode],
        inputs: tuple[list[Optional[int]], int, int],
        expected: int,
) -> None:
    nums, p, q = inputs
    tree = build_tree(nums)
    assert tree is not None

    node_p = find(tree, p)
    node_q = find(tree, q)
    ancestor = lowestCommonAncestor(tree, node_p, node_q)
    assert ancestor.val == expected, (ancestor.val, expected)
コード例 #10
0
def validator(
    sortedArrayToBST: Callable[[list[int]], Optional[TreeNode]],
    inputs: tuple[list[int]],
    output: list[Optional[int]],
) -> None:
    nums, = inputs
    tree = sortedArrayToBST(nums)
    output_tree = build_tree(output)
    height = max_depth(tree)
    expected_height = max_depth(output_tree)
    assert height == expected_height, (height, expected_height)

    values = list(inorder(tree))
    expected_values = list(inorder(output_tree))
    assert values == expected_values, (values, expected_values)
コード例 #11
0
def validator(maxDepth: Callable[[Optional[TreeNode]], int],
              inputs: tuple[list[Optional[int]]], expected: int) -> None:
    values, = inputs
    tree = build_tree(values)
    output = maxDepth(tree)
    assert output == expected, (output, expected)