def test(method, random_samples=False): # test settings times = 10 sol = method() nums = [1, 2, 1, 2, 1, 1, 2, 2, 1] nums = [1, 2, 3] head = list2Tree(nums) printT = PrintTree() printT.printTree(head) res = sol.zigzagLevelOrder(head) print(res) printT.printTree(head) if random_samples: import random for _ in range(times): len1 = random.randint(0, 20) data = [] for __ in range(len1): num1 = random.sample( [random.randint(1, 20) for i in range(20)] + [None], 1) data += num1 print('data', data) head = list2Tree(data) printT.printTree(head) res = sol.zigzagLevelOrder(head) print(res)
def test(method, random_samples=False): # test settings times = 10 sol = method() data = [5, 1, 7, None, None, 6, 8] # data = [2, 1, 3] # data = [3, 1, 5, 0, 2, 4, 6] data = [10, 5, 15, None, None, 6, 20] from L98_test_case import data tree = list2Tree(data) printT = PrintTree() printT.printTree(tree) res = sol.isValidBST(tree) print('the tree {} BST '.format(["isn\'t", "is"][res])) if random_samples: # There are other rules constain the data, so it cannot be truly simulate by following code import random for _ in range(times): len1 = random.randint(0, 20) data = [] for __ in range(len1): num1 = random.sample( [random.randint(1, 20) for i in range(20)] + [None], 1) data += num1 print(data) tree = list2Tree(data) printT = PrintTree() printT.printTree(tree) res = sol.isValidBST(tree) print('the tree {} BST '.format(["isn\'t", "is"][res]))
def test(method): # test settings sol = method() data = [8, 8, 7, 9, 3, None, None, None, None, 4, 7] data2 = [8, 9, 2] tree = list2Tree(data) printT = PrintTree() printT.printTree(tree) tree2 = list2Tree(data2) printT = PrintTree() printT.printTree(tree2) res = sol.HasSubtree(tree, tree2) print(res)
self.right = None class Solution: def minDepth(self, root: TreeNode) -> int: if not root: return 0 else: queue = [(root, 1)] while queue: node, level = queue.pop(0) children = (node.left, node.right) if not any(children): return level for nei in children: if nei: queue.append((nei, level + 1)) from Debug_BST import list2Tree, PrintTree sol = Solution() data = [''] tree = list2Tree(data) printT = PrintTree() printT.printTree(tree) res = sol.minDepth(tree) print(res)