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)
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))
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)
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)
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))
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)
def testSolution1(self): tree = createBinaryTree([3, 9, 20, 15, 7], [9, 3, 15, 20, 7]) self.assertEqual(self.solution.minDepth(tree), 2)
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))
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))
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)
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)
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)
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)