from collections import deque
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param root TreeNode类
# @return int整型
#
class Solution:
def findMaxHeight(self , root: TreeNode) -> int:
# write code here
if not root: return [] #如果树为空,返回一个空的list
q = deque([root]) #定义一个先进先出的队列,这样可以把上一层的先提取出来
res=[]
while q:
cur = [] #处理完一层的数据后需要清零,继续处理下一层
for _ in range(len(q)): #这里每次读完q后,后面的操作不影响这里,循环结束后才变len(q)
node = q.popleft()
cur.append(node.val)
if node.left:
q.append(node.left)
if node.right:
q.append(node.right)
res.append(cur)
print(res[-1])
return max(res[-1])