由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - tree traversal nextNode的无递归无stack实现
相关主题
树 inorder下个节点最好办法是啥狗店面,求BLESS
G电面面经:BT的iterator inorder traversalBST面试题
请问排过序的list组建一个bst 复杂度是多少?谷歌 电面
问一道二叉树遍历的问题? 谢谢!F家电面
bst中序遍历c++ class iteratorfind the k-th maximum node in a binary search tree 有疑问
在版上看到的G题请问我写的这个判断tree是否balance的code有问题么?
F家phone interview的一道题fb面经,附答案,求大牛指点
一个GOOG的二叉树面试题BST 找重复节点数
相关话题的讨论汇总
话题: node话题: right话题: return话题: left话题: parent
进入JobHunting版参与讨论
1 (共1页)
s******n
发帖数: 3946
1
inorder网上有,另外两个找不到现成答案,帮看看对不对?
Node* preOrderNext(Node* n)
{
if (n->left) return n->left;
if (n->right) return n->right;
Node* p = n->parent;
while (p && p->right==n) {
n = p;
p = n->parent;
}
if (!p) return p;
if (p->right) return p->right;
return p;
}
Node* left_most(Node* n) {
assert(n);
while(n->left) {
n=n->left;
}
return n;
}
Node* postOrderNext(Node* n)
{
Node* p = n->parent;
if (!p) reutrn p;
if (n==p->right) return p;
if (p->right) return left_most(p->right);
return p;
}
Node* inorderNext(Node* n) {
if (n->right) return left_most(p->right);
Node* p = n->parent;
while (p && p->right==n) {
n = p;
p = n->parent;
}
return p;
}
z*y
发帖数: 1311
2
帮你改了改
Node* preOrderNext(Node* n)
{
if (n->left) return n->left;
if (n->right) return n->right;
Node* p = n->parent;
while (p && (p->right == NULL || p->right == n))
{
n = p;
p = n->parent;
}
if (!p)
return p;
return p->right;
}
给个包子吧,好吗?
1 (共1页)
进入JobHunting版参与讨论
相关主题
BST 找重复节点数bst中序遍历c++ class iterator
reverse linked list 问题, double 和 single 的不同在版上看到的G题
版上看到的几道F家的题目F家phone interview的一道题
bloomberg onsite题一个GOOG的二叉树面试题
树 inorder下个节点最好办法是啥狗店面,求BLESS
G电面面经:BT的iterator inorder traversalBST面试题
请问排过序的list组建一个bst 复杂度是多少?谷歌 电面
问一道二叉树遍历的问题? 谢谢!F家电面
相关话题的讨论汇总
话题: node话题: right话题: return话题: left话题: parent