由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 树中序遍历,要求左子树用递归,右子树用iteration
相关主题
这个rebuild binary tree的问题树 inorder下个节点最好办法是啥
关于inordertraversal 的iterative way新鲜Amazon面经(附参考答案) 顺便求各种大公司refer
大牛帮我看看这哪错了? iterative inorder traversalLeetcode: Symmetric Tree有没有好的iterative的解法?
Amazon 三次电面面筋写了个symmetric tree的stack based iterative实现,有个bug
攒人品,amazon一面经历bst中序遍历c++ class iterator
如何判断两个BST的元素是一样的?G电面面经:BT的iterator inorder traversal
zenefit 电面面经[leetcode] Maximum Depth of Binary Tree
GOOG ONSITE 面试帮我看一下5行代码
相关话题的讨论汇总
话题: root话题: label话题: subtree话题: 中序话题: inorder
进入JobHunting版参与讨论
1 (共1页)
g*****y
发帖数: 94
1
C语言的题,对C语言不是很熟,如果下面的有语法错误的话,还请谅解。对树进行中序
遍历,initial代码如下:
void inorder(TreeNode* root) {
LABEL:
if (root == NULL) {
return;
}
// Left subtree
inorder(root->left);
// Print value
printf("%dn", root->val);

// Right subtree
root = root->right;
goto LABEL;
}
其实上面的代码对于右子树来说就是变相的recursive调用,面试官要求如何用些代码
来取代"goto LABEL;"这句,然后写些iterative的代码来实现这个中序遍历。其实要求
就是怎么做到左子树recursive,右子树iterative。怎么破这个?
g*****y
发帖数: 94
2
答案如下,感觉这个面试真怪。
void inorder(TreeNode* root) {
while (root != NULL) {
// Left subtree
inorder(root->left);
// Print value
printf("%d\n", root->val);

// Right subtree
root = root->right;
}
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
帮我看一下5行代码攒人品,amazon一面经历
请问怎么样才能想到关于tree等比较简洁的答案呢?同时记一下超慢速刷题过半以鼓励自己如何判断两个BST的元素是一样的?
Flatten Binary Tree to Linked List的recursive解法zenefit 电面面经
leetcode上Symmetric Tree这道题怎么用iterative的方法做?GOOG ONSITE 面试
这个rebuild binary tree的问题树 inorder下个节点最好办法是啥
关于inordertraversal 的iterative way新鲜Amazon面经(附参考答案) 顺便求各种大公司refer
大牛帮我看看这哪错了? iterative inorder traversalLeetcode: Symmetric Tree有没有好的iterative的解法?
Amazon 三次电面面筋写了个symmetric tree的stack based iterative实现,有个bug
相关话题的讨论汇总
话题: root话题: label话题: subtree话题: 中序话题: inorder