def testIsSymmetric(self): s = Solution() p = getTree([1, 2, 2, 3, 4, 4, 3]) an = [[3, 4, 4, 3], [2, 2], [1]] self.assertEqual(s.levelOrderBottom(p), an) q = getTree([1, 2, 2, '#', 3, '#', 3]) an = [[3, 3], [2, 2], [1]] self.assertEqual(s.levelOrderBottom(q), an)
def testIsValidBST(self): s = Solution() root = getTree([1,'#',2,3]) self.assertFalse(s.isValidBST(root)) root = getTree([1,'#',2,'#',3]) self.assertTrue(s.isValidBST(root))
def testZigzagLevelOrder(self): s = Solution() root = getTree([3,9,20,'#','#',15,7]) an = [[3],[20,9],[15,7]] self.assertEqual(s.zigzagLevelOrder(root), an)
def testIsBalanced(self): s = Solution() p = getTree([1, 2, 2, 3, 4, 4, 3]) self.assertEqual(s.isBalanced(p), True, "result not agree") q = getTree([1, 2, 2, "#", 3, "#", "#", 4]) self.assertEqual(s.isBalanced(q), False, "result not agree")
def testIsSymmetric(self): s = Solution() p = getTree([1, 2, 2, 3, 4, 4, 3]) self.assertEqual(s.isSymmetric(p), True, "result not agree") q = getTree([1, 2, 2, '#', 3, '#', 3]) self.assertEqual(s.isSymmetric(q), False, "result not agree")