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)