数据结构4.1-是否同一棵二叉搜索树

问题

数据结构4.1-是否同一棵二叉搜索树_第1张图片
是否同一棵二叉搜索树

代码

def insert(i, tree):
    j = tree[0]
    while tree.index(j) != len(tree):
        if i == j[0]:
            break
            
        elif i < j[0]:
            if j[1] == '-':
                j[1] = len(tree) - 1
                break
                
            j = tree[j[1]]
        
        else:
            if j[2] == '-':
                j[2] = len(tree) - 1
                break
            
            j = tree[j[2]]
    
def judge(tree, i, tree0, j):
    i = tree[i]
    j = tree0[j]

    ans = False
    if i[0] != j[0]:
        return ans

    if i[1] == '-':
        if j[1] != '-':
            return ans
        else:
            ans = True

    if i[2] == '-':
        if j[2] != '-':
            return ans
        else:
            ans = ans and True
            
    if j[1] != '-':
        ans = judge(tree, i[1], tree0, j[1])
        
    if j[2] != '-':
        ans = ans and judge(tree, i[2], tree0, j[2])
        
    return ans

def theSameSerachTree(L):
    l = input().split(' ')
    tree0 = []
    for i in l:     
        i = int(i)
        tree0.append([i, '-', '-'])
        
        insert(i, tree0)
    
    for i in range(L):
        l = input().split(' ')
        tree = []
        for j in l:
            j = int(j)
            tree.append([j, '-', '-'])
            
            insert(j, tree)
            
        ans = judge(tree, 0, tree0, 0)
        if ans:
            print('Yes')
        else:
            print('No')
            
l = input().split(' ')
N = int(l[0])
while(N != 0):
    L = int(l[1])
    theSameSerachTree(L)
    l = input().split(' ')
    N = int(l[0])

有任何问题请回复提出。然后欢迎关注微信公众号格物致愚

数据结构4.1-是否同一棵二叉搜索树_第2张图片
格物致愚

你可能感兴趣的:(数据结构4.1-是否同一棵二叉搜索树)