def main(self): root = [3,5,1,6,2,0,8,None,None,7,4] p = TreeNode(5) q = TreeNode(1) root = Tree().build_tree_from_level_recur_list(root) Tree().mid_recur_tree(root) self.lowestCommonAncestor(root, p, q)
def main(self): tree = [5, 3, 6, 2, 4, None, 7] key = 3 root = Tree().build_tree_from_list(tree) Tree().mid_recur_tree(root) result = self.deleteNode(root, key) Tree().mid_recur_tree(result)
def main(self): tree = [8, 6, 10, 5, 7, 9, 11] root = Tree().build_tree_from_level_recur_list(tree) str_tree = self.Serialize(root) print(str_tree) new_root = self.Deserialize(str_tree) Tree().mid_recur_tree(new_root)
def main(self): root = [3, 5, 1, 6, 2, 0, 8, None, None, 7, 4] p = 5 q = 1 root = Tree().build_tree_from_list(root) Tree().mid_recur_tree(root) self.lowestCommonAncestor(root, p, q) self.lowestCommonAncestor_answer(root, p, q)
def main(self): root = [1, 2] targetSum = 1 # root = [5, 4, 8, 11, None, 13, 4, 7, 2, None, None, None, None ,5, 1] # targetSum = 22 root = Tree().build_tree_from_list(root) Tree().mid_recur_tree(root) self.pathSum(root, targetSum)
def testTime(self, fun, args): # 计时 start = time.process_time() result = fun(*args) elapsed = (time.process_time() - start) print(fun.__name__, ":") print("Time used:", elapsed) print(Tree().mid_recur_tree(result))
def main(self): root = [ 107, 29, 89, 130, 12, 109, 85, 86, 52, 74, 121, 106, 122, 141, 65, 50, 28, 118, 61, 99, 57, 7, 25, 148, 4, 69, 151, 20, 142, 32, 120, 71, 117, 45, 83, 58, 19, 53, 60, 157, 101, 76, 125, 35, 3, 110, 96, 139, 145, 108, 27, 116, 135, 81, 6, 8, 150, 41, 127, 64, 43, 156, 104, 9, 1, 126, 14, 51, 22, 26, 67, 21, 153, 75, 143, 34, 2, 159, 158, 154, 94, 46, 147, 49, 15, 123, 70, 47, 16, 87, 59, 62, 138, 72, 97, 124, 144, 80, 90, 36, 149, 23, 160, 33, 44, 10, 114, 79, 54, 134, 129, 131, 82, 77, 115, 55, 39, 88, 68, 73, 5, 92, 38, 132, 24, 17, 40, 98, 146, 31, 100, 66, 137, 13, 63, 128, 84, 11, 119, 102, 103, 95, 152, 30, 105, 37, 78, 113, 91, 140, 155, 111, 18, 136, 42, 161, 133, 93, 48, 112, 56 ] root = Tree().build_tree_from_level_recur_list(root) Tree().mid_recur_tree(root) self.judgeIt(root)
def main(self): root = [5, 4, 8, 11, None, 13, 4, 7, 2, None, None, 5, 1] Sum = 22 root = Tree().build_tree_from_level_recur_list(root) self.pathSum(root, Sum) self.pathSum_prefix(root, Sum)
def main(self): s = [-10, 9, 20, None, None, 15, 7] tree = Tree().build_tree_from_list(s) self.testTime(self.maxPathSum, args=(tree, ))
def main(self): root = [1, None, 2, None, None, 3] root = Tree().build_tree_from_list(root) self.inorderTraversal(root)
def main(self): nums = [1,3,None,None,2,None,None] root=Tree().build_tree_from_list(nums) Tree().mid_recur_tree(root) print(self.recoverTree(root))
def main(self): t1 = [1, 2, 3, 4, 5, 6] t2 = [1, 2, 3, 4, 5, 5] root1 = Tree().build_tree_from_list(t1) root2 = Tree().build_tree_from_list(t2) self.isSameTree(root1, root2)
def main(self): root = [6, 2, 8, 0, 4, 7, 9, None, None, 3, 5] p = TreeNode(2) q = TreeNode(8) root = Tree().build_tree_from_list(root) self.lowestCommonAncestor(root, p, q)
def main(self): root = [4, 2, 7, 2, 3, 5, None, 2, None, None, None, None, None, 1] root = Tree.build_tree_from_level_recur_list(root) self.largestBSTSubtree(root)
def main(self): root = Tree().build_tree_from_level_recur_list( [3, 5, 1, 6, 2, 0, 8, None, None, 7, 4]) nodes = [1, 4, 7] self.func(root, nodes)
def main(self): nums = [2, 7, 9, 3, 1] root = Tree().build_tree_from_list(nums) self.isBalanced(root)
def main(self): tree = [3, 9, 20, None, None, 15, 7] root = Tree().build_tree_from_list(tree) self.maxDepth_dfs(root) self.maxDepth_bfs(root)
def main(self): nums = [1, 2, 3, 4, 5, 6] root = Tree().build_tree_from_list(nums) Tree().mid_recur_tree(root) self.countNodes(root)
def main(self): tree = [4, 2, 7, 1, 3] val = 5 root = Tree().build_tree_from_list(tree) Tree().mid_recur_tree(root) self.insertIntoBST(root, val)
def main(self): root = [1, 3, None, None, 2] root = Tree().build_tree_from_list(root) Tree().mid_recur_tree(root) self.testTime(self.recoverTree, args=(root, ))
def main(self): root = [3, 9, 20, None, None, 15, 7] root = Tree().build_tree_from_list(root) Tree().mid_recur_tree(root) self.testTime(self.minDepth, args=(root, ))
def main(self): root=Tree().build_tree_from_list([2,1,3]) self.BSTSequences(root)
def main(self): tree = [1, 2, 3, None, 4, None, None] root = Tree().build_tree_from_list(tree) Tree().mid_recur_tree(root) self.printTree(root)
def main(self): root = Tree.build_tree_from_level_recur_list( [3, 5, 1, 6, 2, 0, 8, None, None, 7, 4]) leaf = 0 self.flipBinaryTree(root, leaf)
def main(self): t1 = Tree.build_tree_from_level_recur_list([1, None, 2, 4]) t2 = Tree.build_tree_from_level_recur_list([3, 2]) self.isSubtree(t1, t2) self.isSubtree_serialize(t1, t2)
def main(self): tree = [2, 1, 3, None, None, None, 4] root = Tree().build_tree_from_list(tree) Tree().mid_recur_tree(root) self.isValidBST(root)
def main(self): root = [5, 4, 8, 11, None, 13, 4, 7, 2, None, None, None, 1] root = Tree.build_tree_from_level_recur_list(root) targetSum = 22 self.hasPathSum(root, targetSum)