由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 二叉树最长路径 用 level order travel 做?
相关主题
求教一道老题求教google 电面 answer
请教一道g算法题phone interview program with a small startup
求教一道面试题binary tree的最长root leaf path
求问把二叉树的recursive遍历改为stack实现的思路T第二轮面经
哪个高手能指出我程序的问题 (20几行的代码)MS面试题
请教一道面试题一个GOOG的二叉树面试题
Depth-First-Search二叉树按层次打印有没有办法换行显示?
问一题请教一个二叉树镜像问题
相关话题的讨论汇总
话题: list话题: node话题: helper话题: path话题: append
进入JobHunting版参与讨论
1 (共1页)
i******t
发帖数: 22541
1
d**********x
发帖数: 4083
2
要么在一棵子树里,要么是两侧最大深度的加和

【在 i******t 的大作中提到】
: ?
x****7
发帖数: 86
3
用mini-max 做?
n*******w
发帖数: 687
4
是从root出发吧
helper_list存当前level的nodes
new_list存下一level的nodes
最后结果存在path_stack里
因为返回时需要找path上的node,所以需要一直保存本层所有nodes一直到下一层返回。
longestPath(helper_list, path_stack):
if len(helper_list) == 0:
return
new_list = []
for node in helper_list:
new_list.append(node.left) if node.left is not None
new_list.append(node.right) if node.right is not None
if len(new_list) == 0:
path_stack.append[helper_list[0]] //假设只返回最左边的最长路径
return helper_list[0]
ret_node = longestPath(new_list, path_stack)
for node in helper_list: //找返回的ret_node的parent node
if node.left == ret_node or node.right == ret_node :
path_stack.append(node)
return node


【在 i******t 的大作中提到】
: ?
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教一个二叉树镜像问题哪个高手能指出我程序的问题 (20几行的代码)
一道二叉树的老题请教一道面试题
二叉树如何判断一个节点是不是在另外两个节点的path上。。。。好像是个老题了。。求解?Depth-First-Search
List Flattening from book 问一题
求教一道老题求教google 电面 answer
请教一道g算法题phone interview program with a small startup
求教一道面试题binary tree的最长root leaf path
求问把二叉树的recursive遍历改为stack实现的思路T第二轮面经
相关话题的讨论汇总
话题: list话题: node话题: helper话题: path话题: append