由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 最近老看到traverse tree with constant memory得问题 发个morris算法
相关主题
inorder traversal的空间复杂度是O(N) 还是O(logN)?Restore binary tree from preorder and inorder sequences
一道linked list编程题关于inordertraversal 的iterative way
面了个三哥今天[合集] 微软面试的一道题
如何判断两个BST的元素是一样的?用BFS 和 inorder 重构二叉树?
求教:binary search tree中找第i大的数FB面试题:binary tree inorder successor
时隔一年再次得到Amazon电面机会[leetcode] Binary Tree from Inorder & Postorder Traversal
这个rebuild binary tree的问题L家的面试体验让人有些无语
树 inorder下个节点最好办法是啥狗店面,求BLESS
相关话题的讨论汇总
话题: current话题: null话题: pre话题: right话题: end
进入JobHunting版参与讨论
1 (共1页)
C***U
发帖数: 2406
1
void MorrisTraversal(struct tNode *root)
{
struct tNode *current,*pre;
if(root == NULL)
return;
current = root;
while(current != NULL)
{
if(current->left == NULL)
{
printf(" %d ", current->data);
current = current->right;
}
else
{
/* Find the inorder predecessor of current */
pre = current->left;
while(pre->right != NULL && pre->right != current)
pre = pre->right;
/* Make current as right child of its inorder predecessor */
if(pre->right == NULL)
{
pre->right = current;
current = current->left;
}
// MAGIC OF RESTORING the Tree happens here:
/* Revert the changes made in if part to restore the original
tree i.e., fix the right child of predecssor */
else
{
pre->right = NULL;
printf(" %d ",current->data);
current = current->right;
} /* End of if condition pre->right == NULL */
} /* End of if condition current->left == NULL*/
} /* End of while */
}
h****n
发帖数: 1093
2
mark,回头好好研究一下

【在 C***U 的大作中提到】
: void MorrisTraversal(struct tNode *root)
: {
: struct tNode *current,*pre;
: if(root == NULL)
: return;
: current = root;
: while(current != NULL)
: {
: if(current->left == NULL)
: {

p*****2
发帖数: 21240
3
这是啥公司的题呀?
C***U
发帖数: 2406
4
不记得了
就看到有人发

【在 p*****2 的大作中提到】
: 这是啥公司的题呀?
q****m
发帖数: 177
5
nice

【在 C***U 的大作中提到】
: void MorrisTraversal(struct tNode *root)
: {
: struct tNode *current,*pre;
: if(root == NULL)
: return;
: current = root;
: while(current != NULL)
: {
: if(current->left == NULL)
: {

c*****a
发帖数: 808
6
收下,慢慢研究大牛的code
p*****2
发帖数: 21240
7
这个还真不错。
l*****a
发帖数: 559
8
事先没见过,面试时想破脑袋也想不出这种办法。
1 (共1页)
进入JobHunting版参与讨论
相关主题
狗店面,求BLESS求教:binary search tree中找第i大的数
问一个leetcode上Validate Binary Search Tree的问题时隔一年再次得到Amazon电面机会
讨论几道google题(附个人答案)这个rebuild binary tree的问题
Lowest Common Ancestor in a binary tree (no parent pointer)树 inorder下个节点最好办法是啥
inorder traversal的空间复杂度是O(N) 还是O(logN)?Restore binary tree from preorder and inorder sequences
一道linked list编程题关于inordertraversal 的iterative way
面了个三哥今天[合集] 微软面试的一道题
如何判断两个BST的元素是一样的?用BFS 和 inorder 重构二叉树?
相关话题的讨论汇总
话题: current话题: null话题: pre话题: right话题: end