给定一个二叉树,每个节点上站一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收到悄悄话花费的时间。
把问题抽象出来,其实就是给定一颗二叉树,每个节点都有对应的权值,问从根节点出发到任意一个节点的路径之和的最大值。
可以使用DFS或者BFS求解,由于题目给的输入数据已经给定了各个节点的子节点的关系,对于下标为i的节点,它的左孩子的节点为i∗2,右孩子的节点为i∗2+1,但是,需要把下标映射到从1开始,才正确,具体参考下面代码