val_depth_map = dict()
def dfs(m_root, deep):
if not m_root:
return
val_depth_map[m_root.val] = max(val_depth_map.get(m_root.val, 0), deep)
dfs(m_root.left, deep + 1)
dfs(m_root.right, deep + 1)
dfs(root, 1)
print (val_depth_map = dict())
def create_tree(root, array, i):
if i < len(array):
if array[i] is None:
return None
root = TreeNode(array[i])
root.left = create_tree(root.left, array, 2*i+1) # 根为0,节点索引的特征关系: 左奇右偶
root.right = create_tree(root.right, array, 2*i + 2)
return root
return root
t = create_tree(None, [5, 3, 7, 1, 5], 0)