# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param pRoot TreeNode类
# @return int整型
#
class Solution:
def TreeDepth(self , pRoot: TreeNode) -> int:
# write code here
# 每层用列表存储,每个节点再次遍历
queue = [pRoot]
if not pRoot: # 若输入的二叉树为空,则返回0
return 0
count = 1
while queue: # queue的作用相当于工作层
temp = [] # 临时存储每一层的节点
for node in queue: # 遍历工作层节点
if node.left:
temp.append(node.left)
if node.right:
temp.append(node.right) # temp临时存储个工作层节点
if temp: # 若工作层不为空,则层数加一
count += 1
queue = temp # 临时层赋值给工作层
return count