def check_solution(l: List[int], expect: bool) -> None: s = Solution() s_recur = SolutionRecur() s_iter = SolutionIter() assert s.isSymmetric(make_tree_node(l)) == expect assert s_recur.isSymmetric(make_tree_node(l)) == expect assert s_iter.isSymmetric(make_tree_node(l)) == expect
def check_solution(l: List[Optional[int]], expect: int) -> None: s = Solution() s_dfs1 = SolutionDFS1() s_dfs2 = SolutionDFS1() assert s.countUnivalSubtrees(make_tree_node(l)) == expect assert s_dfs1.countUnivalSubtrees(make_tree_node(l)) == expect assert s_dfs2.countUnivalSubtrees(make_tree_node(l)) == expect
def check_solution(root: List[Optional[int]], output: List[int]): s = Solution() s_stack = SolutionStack() s_morris = SolutionMorris() assert s.preorderTraversal(make_tree_node(root)) == output assert s_stack.preorderTraversal(make_tree_node(root)) == output assert s_morris.preorderTraversal(make_tree_node(root)) == output
def check_solution(root: List[int], expect: List[int]): s = Solution() s_recursive = SolutionRecursive() s_stack = SolutionStack() s_morris = SolutionMorris() assert s.inorderTraversal(make_tree_node(root)) == expect assert s_recursive.inorderTraversal(make_tree_node(root)) == expect assert s_stack.inorderTraversal(make_tree_node(root)) == expect assert s_morris.inorderTraversal(make_tree_node(root)) == expect
def check_solution(l: List[int], expect: int): s = Solution() s2 = Solution2() s_bu = SolutionBottomUp() s_iterative = SolutionIterative() s_bfs = SolutionBFS() assert s.maxDepth(make_tree_node(l)) == expect assert s2.maxDepth(make_tree_node(l)) == expect assert s_bu.maxDepth(make_tree_node(l)) == expect assert s_iterative.maxDepth(make_tree_node(l)) == expect assert s_bfs.maxDepth(make_tree_node(l)) == expect
def check_solutions(l: List[Optional[int]], expect: bool): solutions = [Solution(), SolutionTopDown(), SolutionBottomUp()] for s in solutions: assert s.isBalanced(make_tree_node(l)) == expect