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)
Esempio n. 2
0
 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)
Esempio n. 3
0
    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)
Esempio n. 6
0
 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))
Esempio n. 7
0
    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)
Esempio n. 9
0
 def main(self):
     s = [-10, 9, 20, None, None, 15, 7]
     tree = Tree().build_tree_from_list(s)
     self.testTime(self.maxPathSum, args=(tree, ))
Esempio n. 10
0
 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))
Esempio n. 12
0
 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)
Esempio n. 13
0
 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)
Esempio n. 15
0
 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)
Esempio n. 18
0
 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)
Esempio n. 20
0
 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, ))
Esempio n. 22
0
 def main(self):
     root=Tree().build_tree_from_list([2,1,3])
     self.BSTSequences(root)
Esempio n. 23
0
 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)
Esempio n. 25
0
 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)
Esempio n. 26
0
 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)