Exemplo n.º 1
0
def test_is_subtree5():
    a = make_tree([
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        None,
        1,
        2,
    ])
    b = make_tree([1, None, 1, None, 1, None, 1, None, 1, None, 1, 2])

    s = module.Solution()
    assert s.isSubtree(a[0], b[0])
Exemplo n.º 2
0
def test_make_tree2():
    v = make_tree([6, 2, 8, 0, 4, 7, 9, None, None, 3, 5])
    s0 = TreeNode(6)
    s1 = TreeNode(2)
    s2 = TreeNode(8)
    s3 = TreeNode(0)
    s4 = TreeNode(4)
    s5 = TreeNode(7)
    s6 = TreeNode(9)
    s9 = TreeNode(3)
    s10 = TreeNode(5)

    s0.left = s1
    s0.right = s2
    s1.left = s3
    s1.right = s4
    s2.left = s5
    s2.right = s6
    s4.left = s9
    s4.right = s10

    assert len(v) == 11
    assert v[0].val == s0.val
    assert v[1].val == s1.val
    assert v[2].val == s2.val
    assert v[3].val == s3.val
    assert v[4].val == s4.val
    assert v[5].val == s5.val
    assert v[6].val == s6.val
    assert v[3].left is None
    assert v[3].right is None
    assert v[9].val == s9.val
    assert v[10].val == s10.val
Exemplo n.º 3
0
def test_lowest_common_ancestor():
    t = make_tree([6, 2, 8, 0, 4, 7, 9, None, None, 3, 5])
    s = module.Solution()
    assert s.lowestCommonAncestor(t[0], t[1], t[2]) == t[0]
    assert s.lowestCommonAncestor(t[0], t[2], t[1]) == t[0]

    assert s.lowestCommonAncestor(t[0], t[1], t[4]) == t[1]
    assert s.lowestCommonAncestor(t[0], t[4], t[1]) == t[1]
Exemplo n.º 4
0
def test_merge_trees():
    a = make_tree([1, 3, 2, 5])
    b = make_tree([2, 1, 3, None, 4, None, 7])

    s = module.Solution()
    r = s.mergeTrees(a[0], b[0])

    assert r is not None
    assert r.val == 3
    assert r.left.val == 4
    assert r.right.val == 5
    assert r.left.left.val == 5
    assert r.left.right.val == 4
    assert r.left.left.left is None
    assert r.left.left.right is None
    assert r.right.val == 5
    assert r.right.left is None
    assert r.right.right.val == 7
    assert r.right.right.right is None
Exemplo n.º 5
0
def test_invert_tree():
    t = make_tree([4, 2, 7, 1, 3, 6, 9])

    s = module.Solution()
    r = s.invertTree(t[0])

    assert r.val == 4
    assert r.left.val == 7
    assert r.right.val == 2
    assert r.left.left.val == 9
    assert r.left.right.val == 6
    assert r.right.left.val == 3
    assert r.right.right.val == 1
Exemplo n.º 6
0
def test_make_tree1():
    v = make_tree([6, 2, 8, 0, 4, 7, 9, -1, -1, 3, 5])
    s0 = TreeNode(6)
    s1 = TreeNode(2)
    s2 = TreeNode(8)
    s3 = TreeNode(0)
    s4 = TreeNode(4)
    s5 = TreeNode(7)
    s6 = TreeNode(9)
    s7 = TreeNode(-1)
    s8 = TreeNode(-1)
    s9 = TreeNode(3)
    s10 = TreeNode(5)

    s0.left = s1
    s0.right = s2
    s1.left = s3
    s1.right = s4
    s2.left = s5
    s2.right = s6
    s3.left = s7
    s3.right = s8
    s4.left = s9
    s4.right = s10

    assert len(v) == 11
    assert v[0].val == s0.val
    assert v[1].val == s1.val
    assert v[2].val == s2.val
    assert v[3].val == s3.val
    assert v[4].val == s4.val
    assert v[5].val == s5.val
    assert v[6].val == s6.val
    assert v[7].val == s7.val
    assert v[8].val == s8.val
    assert v[9].val == s9.val
    assert v[10].val == s10.val
def test_max_depth():
    t = make_tree([3, 9, 20, None, None, 15, 7])

    s = module.Solution()
    assert s.maxDepth(t[0]) == 3
Exemplo n.º 8
0
def test_is_subtree_same():
    t = make_tree([3, 4, 5, 1, 2])

    s = module.Solution()
    assert s.isSubtree(t[0], t[0])
    assert s.isSubtree(t[0], t[1])
Exemplo n.º 9
0
def test_is_subtree4():
    a = make_tree([3, 4, 5, 1, None, 2])
    b = make_tree([3, 1, 2])

    s = module.Solution()
    assert not s.isSubtree(a[0], b[0])
Exemplo n.º 10
0
def test_is_subtree2():
    a = make_tree([1, 1])
    b = TreeNode(1)

    s = module.Solution()
    assert s.isSubtree(a[0], b)
Exemplo n.º 11
0
def test_is_subtree1():
    a = make_tree([3, 4, 5, 1, 2])
    b = make_tree([4, 1, 2])

    s = module.Solution()
    assert s.isSubtree(a[0], b[0])
Exemplo n.º 12
0
def test_is_same_tree_1():
    p = make_tree([1, 2, 3])

    s = module.Solution()
    assert s.isSameTree(p[0], p[0])
Exemplo n.º 13
0
def test_is_same_tree_4():
    p = make_tree([10, 5, 15])
    q = make_tree([10, 5, None, None, 15])

    s = module.Solution()
    assert not s.isSameTree(p[0], q[0])
Exemplo n.º 14
0
def test_is_same_tree_3():
    p = make_tree([1, 2, 1])
    q = make_tree([1, 1, 2])

    s = module.Solution()
    assert not s.isSameTree(p[0], q[0])