由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Write an iterative method that finds depth of a (non-balanced) binary tree.
相关主题
N家电面一题求解~Amazon 3rd phone interview (software engineer intern)
Finding deepest node of BST ?print bst in level order dfs为什么是O(N)不应该是O(N^2)吗?
[leetcode] Maximum Depth of Binary Tree关于检查Binary tree是否balanced
Yahoo 面经两种DP
binary tree的最长root leaf path我发现我竟然学会了12种tree traversal的办法
面试题总结(7) - Treefb电话面试
Flatten Binary Tree to Linked List的recursive解法求教google 电面 answer
请教一个binary tree问题讨论一道LeetCode题:Binary Tree Maximum Path Sum
相关话题的讨论汇总
话题: write话题: null话题: iterative话题: finds话题: left
进入JobHunting版参与讨论
1 (共1页)
I**A
发帖数: 2345
1
anyone has written it?
z****n
发帖数: 1379
2
我觉得可以这样做
用non-recursive的in-order遍历,每次碰到叶子节点,就数一下当前stack里有几个元
素,这就是这条路径的长度,(因为只有根节点入栈,左右孩子不入)
剩下就简单了,和当前最长路径比一下就行了,最后结束时的最长路径就是高度

【在 I**A 的大作中提到】
: anyone has written it?
z****n
发帖数: 1379
3
好像不对,碰到右边叶子的时候,对应的根节点已经弹出了

【在 z****n 的大作中提到】
: 我觉得可以这样做
: 用non-recursive的in-order遍历,每次碰到叶子节点,就数一下当前stack里有几个元
: 素,这就是这条路径的长度,(因为只有根节点入栈,左右孩子不入)
: 剩下就简单了,和当前最长路径比一下就行了,最后结束时的最长路径就是高度

z****n
发帖数: 1379
4
改成用non-recursive的后序遍历就对了

【在 z****n 的大作中提到】
: 好像不对,碰到右边叶子的时候,对应的根节点已经弹出了
z****n
发帖数: 1379
5
代码
int maxPath = 0;
s.push(root);
while(!s.empty)
{
Node* n = s.peek();
if(n->left!=null&&!n->left->visited)
s.push(n->left);
else
{
if(n->right!=null&&!n->right->visited)
s.push(n->right)
else
{
Visit(n);
n->visited=true;
/* calculating path length */
if(n->left==null&&n->right==null) //leaf
{
int path = s.size();
if(path>

【在 z****n 的大作中提到】
: 改成用non-recursive的后序遍历就对了
I**A
发帖数: 2345
6
多谢~~~
我觉得这个思路是对的
有人有反对意见没?

【在 z****n 的大作中提到】
: 改成用non-recursive的后序遍历就对了
h**6
发帖数: 4160
7
non-recursive的BFS最简单,数一数有多少行就行了。
I**A
发帖数: 2345
8
啊,也对, this logic is easier to understand..
i like queue better than stack
//鄙视自己,简直是随风倒。。

【在 h**6 的大作中提到】
: non-recursive的BFS最简单,数一数有多少行就行了。
p*u
发帖数: 136
9
同意
正打算建议用BFS

【在 h**6 的大作中提到】
: non-recursive的BFS最简单,数一数有多少行就行了。
1 (共1页)
进入JobHunting版参与讨论
相关主题
讨论一道LeetCode题:Binary Tree Maximum Path Sumbinary tree的最长root leaf path
Leetcode bst max path-----is this solution correct?面试题总结(7) - Tree
问一道google面经Flatten Binary Tree to Linked List的recursive解法
"简单的"linklist的问题请教一个binary tree问题
N家电面一题求解~Amazon 3rd phone interview (software engineer intern)
Finding deepest node of BST ?print bst in level order dfs为什么是O(N)不应该是O(N^2)吗?
[leetcode] Maximum Depth of Binary Tree关于检查Binary tree是否balanced
Yahoo 面经两种DP
相关话题的讨论汇总
话题: write话题: null话题: iterative话题: finds话题: left