Exemplo n.º 1
0
    def testSolution2(self):
        preOrder = [2, 1, 3]
        inOrder = [1, 2, 3]
        root = createBinaryTree(preOrder, inOrder)
        self.assertEqual(self.solution.isValidBST2(root), True)

        preOrder = [5, 1, 4, 3, 6]
        inOrder = [1, 5, 3, 4, 6]
        root = createBinaryTree(preOrder, inOrder)
        self.assertEqual(self.solution.isValidBST2(root), False)

        preOrder = [1, 1]
        inOrder = [1, 1]
        root = createBinaryTree(preOrder, inOrder)
        self.assertEqual(self.solution.isValidBST2(root), False)
Exemplo n.º 2
0
 def testSolution1(self):
     preorder = [3, 9, 20, 15, 7]
     inorder = [9, 3, 15, 20, 7]
     postorder = [9, 15, 7, 20, 3]
     expected = createBinaryTree(preorder, inorder)
     res = self.solution.buildTree(inorder, postorder)
     self.assertTrue(isBinaryTreeEqual(expected, res))
Exemplo n.º 3
0
    def test(self):
        preOrder = [1, 2, 4, 8, 9, 5, 3, 6, 7, 10, 11]
        inOrder = [8, 4, 9, 2, 5, 1, 6, 3, 10, 11, 7]
        root = createBinaryTree(preOrder, inOrder)

        res = self.solution.inorderTraversal1(root)
        expected = [8, 4, 9, 2, 5, 1, 6, 3, 10, 11, 7]
        self.assertEqual(res, expected)

        res = self.solution.inorderTraversal1(root)
        expected = [8, 4, 9, 2, 5, 1, 6, 3, 10, 11, 7]
        self.assertEqual(res, expected)
Exemplo n.º 4
0
    def testSolution1(self):
        tree1 = createBinaryTree([1, 2, 3], [2, 1, 3])
        tree2 = createBinaryTree([1, 2, 3], [2, 1, 3])
        self.assertEqual(self.solution.isSameTree(tree1, tree2), True)

        tree1 = createBinaryTree([1, 2], [2, 1])
        tree2 = createBinaryTree([1, 2], [1, 2])
        self.assertEqual(self.solution.isSameTree(tree1, tree2), False)

        tree1 = createBinaryTree([1, 2, 1], [2, 1, 1])
        tree2 = createBinaryTree([1, 1, 2], [1, 1, 2])
        self.assertEqual(self.solution.isSameTree(tree1, tree2), False)
Exemplo n.º 5
0
 def testSolution3(self):
     tree = createBinaryTree([1, 2, 3, 4, 5, 6], [3, 2, 4, 1, 5, 6])
     expected = createBinaryTree([1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6])
     self.solution.flatten3(tree)
     printBinaryTree(tree)
     self.assertTrue(isBinaryTreeEqual(tree, expected))
Exemplo n.º 6
0
 def testSolution1(self):
     tree = createBinaryTree([3, 9, 20, 15, 7], [9, 3, 15, 20, 7])
     expected = [[3], [9, 20], [15, 7]]
     self.assertEqual(self.solution.levelOrder(tree), expected)
Exemplo n.º 7
0
 def testSolution1(self):
     tree = createBinaryTree([3, 9, 20, 15, 7], [9, 3, 15, 20, 7])
     self.assertEqual(self.solution.minDepth(tree), 2)
Exemplo n.º 8
0
 def testSolution1(self):
     sorted_linked_list = makeListNode([-10, -3, 0, 5, 9])
     expected = createBinaryTree([0, -3, -10, 9, 5], [-10, -3, 0, 5, 9])
     res = self.solution.sortedListToBST(sorted_linked_list)
     self.assertTrue(isBinaryTreeEqual(expected, res))
Exemplo n.º 9
0
 def testSolution1(self):
     tree = createBinaryTree([5, 4, 11, 7, 2, 8, 13, 4, 5, 1],
                             [7, 11, 2, 4, 5, 13, 8, 5, 4, 1])
     expected = [[5, 4, 11, 2], [5, 8, 4, 5]]
     res = self.solution.pathSum(tree, 22)
     self.assertEqual(sorted(expected), sorted(res))
Exemplo n.º 10
0
    def testSolution1(self):
        tree = createBinaryTree([1, 2, 3], [2, 1, 3])
        self.assertEqual(self.solution.maxPathSum(tree), 6)

        tree = createBinaryTree([-10, 9, 20, 15, 7], [9, -10, 15, 20, 7])
        self.assertEqual(self.solution.maxPathSum(tree), 42)
Exemplo n.º 11
0
    def testSolution2(self):
        tree = createBinaryTree([1, 2, 3, 4, 2, 4, 3], [3, 2, 4, 1, 4, 2, 3])
        self.assertEqual(self.solution.isSymmetric2(tree), True)

        tree = createBinaryTree([1, 2, 3, 2, 3], [2, 3, 1, 2, 3])
        self.assertEqual(self.solution.isSymmetric2(tree), False)
Exemplo n.º 12
0
 def testSolution2(self):
     tree = createBinaryTree([5, 4, 11, 7, 2, 8, 13, 4, 1],
                             [7, 11, 2, 4, 5, 13, 8, 4, 1])
     self.assertEqual(self.solution.hasPathSum2(tree, 22), True)
Exemplo n.º 13
0
    def testSolution2(self):
        tree = createBinaryTree([3, 9, 20, 15, 7], [9, 3, 15, 20, 7])
        self.assertEqual(self.solution.isBalanced2(tree), True)

        tree = createBinaryTree([1, 2, 3, 4, 4, 3, 2], [4, 3, 4, 2, 3, 1, 2])
        self.assertEqual(self.solution.isBalanced2(tree), False)