БГ
Size: a a a
IK
E
IK
IK
E
IK
E
IK
БГ
E
IK
GRAPH = [[2, 3, (3,1, (2, 3))]]
def got_it(g):
mx = 1
mn = None
def check(depth, iterable):
nonlocal mn, mx
mx = max(mx, depth)
for i in iterable:
if '__iter__' in dir(i):
check(depth + 1, i)
else:
if mn == None or depth < mn:
mn = depth
check(1, g)
return (mn, mx)
K
IK
БГ
tree = ...
mini, maxi = 0, 0
stack = [(tree, 1)]
while stack:
current, d = stack.pop()
left, _, right = current
for node in left, right:
if node is None:
mini = min(mini, d)
maxi = max(maxi, d)
else:
stack.append((node, d+1))
print(mini, maxi)
IK