Exemple #1
0
 def test_can_merge(self):
     trees = [
         list_to_tree_node([2, 1]),
         list_to_tree_node([3, 2, 5]),
         list_to_tree_node([5, 4])
     ]
     res = Solution().canMerge(trees)
     self.assertListEqual([3, 2, 5, 1, null, 4], treenode_to_list(res))
 def test_splitBST_1(self):
     root = list_to_tree_node([10, 5, 20, 3, 9, 15, 25, null, null, 8, null, null, null, null, null, 6, null, null, 7])
     res = Solution().splitBST(root, 6)
     ans = [[5,3,6],[10,9,20,8,null,15,25,7]]
     for node in res:
         li = treenode_to_list(node)
         self.assertTrue(li in ans)
 def test_splitBST(self):
     root = list_to_tree_node([4,2,6,1,3,5,7])
     res = Solution().splitBST(root, 2)
     ans = [[2,1],[4,3,6,null,null,5,7]]
     for node in res:
         li = treenode_to_list(node)
         self.assertTrue(li in ans)
 def test_convertBST(self):
     root = list_to_tree_node(
         [4, 1, 6, 0, 2, 5, 7, null, null, null, 3, null, null, null, 8])
     self.assertListEqual([
         30, 36, 21, 36, 35, 26, 15, null, null, null, 33, null, null, null,
         8
     ], treenode_to_list(Solution().convertBST(root)))
 def test_longestZigZag(self):
     self.assertEqual(
         3,
         Solution().longestZigZag(
             list_to_tree_node([
                 1, null, 1, 1, 1, null, null, 1, 1, null, 1, null, null,
                 null, 1, null, 1
             ])))
Exemple #6
0
 def test_bstToGst(self):
     input = [4, 1, 6, 0, 2, 5, 7, null, null, null, 3, null, null, null, 8]
     output = [
         30, 36, 21, 36, 35, 26, 15, null, null, null, 33, null, null, null,
         8
     ]
     res = Solution().bstToGst(list_to_tree_node(input))
     self.assertListEqual(output, treenode_to_list(res))
Exemple #7
0
 def test_pseudoPalindromicPaths_4(self):
     self.assertEqual(
         0,
         Solution().pseudoPalindromicPaths(
             list_to_tree_node([
                 1, 5, null, 7, null, 3, 9, null, 3, 1, null, 4, null, null,
                 4
             ])))
Exemple #8
0
 def test_pseudoPalindromicPaths_3(self):
     self.assertEqual(
         2,
         Solution().pseudoPalindromicPaths(
             list_to_tree_node([
                 8, 8, null, 7, 7, null, null, 2, 4, null, 8, null, 7, null,
                 1
             ])))
 def test_longestZigZag_3(self):
     self.assertEqual(
         5,
         Solution().longestZigZag(
             list_to_tree_node([
                 6, 9, 7, 3, null, 2, 8, 5, 8, 9, 7, 3, 9, 9, 4, 2, 10,
                 null, 5, 4, 3, 10, 10, 9, 4, 1, 2, null, null, 6, 5, null,
                 null, null, null, 9, null, 9, 6, 5, null, 5, null, null, 7,
                 7, 4, null, 1, null, null, 3, 7, null, 9, null, null, null,
                 null, null, null, null, null, 9, 9, null, null, null, 7,
                 null, null, null, null, null, null, null, null, null, 6, 8,
                 7, null, null, null, 3, 10, null, null, null, null, null,
                 1, null, 1, 2
             ])))
 def test_removeLeafNodes_1(self):
     root = list_to_tree_node([1, 3, 3, 3, 2])
     res = treenode_to_list(Solution().removeLeafNodes(root, 3))
     self.assertListEqual([1, 3, null, null, 2], res)
 def test_pathSum(self):
     self.assertEqual(
         3,
         Solution().pathSum(
             list_to_tree_node([10, 5, -3, 3, 2, null, 11, 3, -2, null, 1]),
             8))
 def test_pathSum_3(self):
     self.assertEqual(4,
                      Solution().pathSum(list_to_tree_node([0, 1, 1]), 1))
Exemple #13
0
 def test_isCousins_1(self):
     root = list_to_tree_node([1,2,3,null,4,null,5])
     self.assertEqual(True, Solution().isCousins(root, 5, 4))
 def test_longestConsecutive(self):
     self.assertEqual(3, Solution().longestConsecutive(list_to_tree_node([2,null,3,4,null,1])))
Exemple #15
0
 def test_kthSmallest(self):
     self.assertEqual(
         1,
         Solution().kthSmallest(list_to_tree_node([3, 1, 4, null, 2]), 1))
Exemple #16
0
 def test_kthSmallest_1(self):
     self.assertEqual(
         3,
         Solution().kthSmallest(
             list_to_tree_node([5, 3, 6, 2, 4, null, null, 1]), 3))
Exemple #17
0
 def test_pseudoPalindromicPaths_2(self):
     self.assertEqual(
         1,
         Solution().pseudoPalindromicPaths(list_to_tree_node([9])))
Exemple #18
0
 def test_sufficientSubset(self):
     root = list_to_tree_node(
         [1, 2, 3, 4, -99, -99, 7, 8, 9, -99, -99, 12, 13, -99, 14])
     self.assertListEqual([1, 2, 3, 4, null, null, 7, 8, 9, null, 14],
                          treenode_to_list(Solution().sufficientSubset(
                              root, 1)))
Exemple #19
0
 def test_sufficientSubset_3(self):
     root = list_to_tree_node([10, 5, 10])
     self.assertListEqual([],
                          treenode_to_list(Solution().sufficientSubset(
                              root, 21)))
Exemple #20
0
 def test_sufficientSubset_2(self):
     root = list_to_tree_node([1, 2, -3, -5, null, 4, null])
     self.assertListEqual([1, null, -3, 4],
                          treenode_to_list(Solution().sufficientSubset(
                              root, -1)))
Exemple #21
0
 def test_sufficientSubset_1(self):
     root = list_to_tree_node(
         [5, 4, 8, 11, null, 17, 4, 7, 1, null, null, 5, 3])
     self.assertListEqual(
         [5, 4, 8, 11, null, 17, 4, 7, null, null, null, 5],
         treenode_to_list(Solution().sufficientSubset(root, 22)))
 def test_removeLeafNodes_4(self):
     root = list_to_tree_node([1, 2, 3])
     res = treenode_to_list(Solution().removeLeafNodes(root, 1))
     self.assertListEqual([1, 2, 3], res)
 def test_removeLeafNodes(self):
     root = list_to_tree_node([1, 2, 3, 2, null, 2, 4])
     res = treenode_to_list(Solution().removeLeafNodes(root, 2))
     self.assertListEqual([1, null, 3, null, 4], res)
Exemple #24
0
 def test_pseudoPalindromicPaths(self):
     self.assertEqual(
         2,
         Solution().pseudoPalindromicPaths(
             list_to_tree_node([2, 3, 1, 3, 1, null, 1])))
Exemple #25
0
 def test_kthSmallest_2(self):
     self.assertEqual(
         2,
         Solution().kthSmallest(list_to_tree_node([1, null, 2]), 2))
 def test_pathSum_1(self):
     self.assertEqual(
         2,
         Solution().pathSum(
             list_to_tree_node([1, null, 2, null, 3, null, 4, null, 5]), 3))
 def test_longestConsecutive_2(self):
     self.assertEqual(3, Solution().longestConsecutive(list_to_tree_node([1,null,4,3,null,null,2])))
 def test_pathSum_2(self):
     self.assertEqual(0, Solution().pathSum(list_to_tree_node([]), 1))
 def test_longestConsecutive_1(self):
     self.assertEqual(3, Solution().longestConsecutive(list_to_tree_node([2,1,3])))
Exemple #30
0
 def test_isCousins(self):
     root = list_to_tree_node([1,2,3,4])
     self.assertEqual(False, Solution().isCousins(root, 4, 3))