赞
踩
题目描述:
给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。
初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收到悄悄话花费的时间。输入描述:
给定二叉树
0 9 20 -1 -1 15 7 -1 -1 -1 -1 3 2
注:-1表示空节点
输出描述:
返回所有节点都接收到悄悄话花费的时间38
补充说明:
示例1
输入:
0 9 20 -1 -1 15 7 -1 -1 -1 -1 3 2
输出:38
说明:
- from collections import deque
-
- queue = deque()
- result = 0
-
- def check(index, nums, father):
- global result
- if index < len(nums) and nums[index] != -1:
- nums[index] += nums[father]
- queue.append(index)
- if nums[index] > result:
- result = nums[index]
-
- if __name__ == "__main__":
- input_str = input()
- tmp2 = input_str.split(" ")
- nums = [int(num) for num in tmp2]
-
- queue.append(0)
- while queue:
- father = queue.popleft()
- check(2 * father + 1, nums, father)
- check(2 * father + 2, nums, father)
-
- print(result)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。