60分求助,#2 #3 #5 AC #1 #4 RE
查看原帖
60分求助,#2 #3 #5 AC #1 #4 RE
503500
Eric528楼主2023/1/15 13:06

n = int(input())
node = []

for i in range(n):
    l, r = map(int, input().split())
    node.append([l, r])

class BinaryTree:
    def __init__(self, key):
        self.key = key
        self.leftChild = None
        self.rightChild = None

Tree = BinaryTree(1)


def FirstSweep(T):
    if T.key == 0:
        return
    else:
        index = T.key - 1
        l_key = node[index][0]
        r_key = node[index][1]
        l_tree = BinaryTree(l_key)
        T.leftChild = l_tree
        r_tree = BinaryTree(r_key)
        T.rightChild = r_tree
        
        FirstSweep(T.leftChild)
        FirstSweep(T.rightChild)
    
   
def CalDepth(T):
    if T.key == 0:
        return 0
    else:
        return max(CalDepth(T.leftChild), CalDepth(T.rightChild)) + 1
    
FirstSweep(Tree)
print(CalDepth(Tree))

    

2023/1/15 13:06
加载中...