由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - FB面经
相关主题
回馈本版,新鲜店面,新题新气象Find the node with given value in binary tree in in-order
热腾腾的 LinkedIn 电面题攒RP一个题:给定一个节点,找right neighbor
一道google面试题一道在线题
狗店面,求BLESS请问怎么样才能想到关于tree等比较简洁的答案呢?同时记一下超慢速刷题过半以鼓励自己
Interview question::min depth binary tree用recursive解法一般能过关麽?
大虾帮忙看看代码,为什么 res参数传入不了,返回总是null请教一道g算法题
问题在哪儿啊 kth Node of BST,大家帮忙求教Leetcode题目:Lowest Common Ancestor
发现一个很恶心的基础问题Find a sub tree with min weight怎么做
相关话题的讨论汇总
话题: node话题: int话题: left话题: root话题: null
进入JobHunting版参与讨论
1 (共1页)
f****9
发帖数: 506
1
感觉挂了。
coding都是常见题。感谢国人面试官。
有一个lc上没有,Printing a Binary Tree top-down (column wise)。
design让设计uber backend。
感觉design应该挂了。
lc没有的那个题也折腾了半天,一度纠结在错误的设计,没来得及coding。
还是经验不足,有个不错的想法赶快coding是王道。
design面我的貌似是个大神啊:
https://www.facebook.com/video/video.php?v=432864835468
b******i
发帖数: 914
2
请问第一个题是不是说如果有个binary tree
1
2 3
4 5 6 7
就print 4,2,5,1,3,6,7 ? 还是怎么着

【在 f****9 的大作中提到】
: 感觉挂了。
: coding都是常见题。感谢国人面试官。
: 有一个lc上没有,Printing a Binary Tree top-down (column wise)。
: design让设计uber backend。
: 感觉design应该挂了。
: lc没有的那个题也折腾了半天,一度纠结在错误的设计,没来得及coding。
: 还是经验不足,有个不错的想法赶快coding是王道。
: design面我的貌似是个大神啊:
: https://www.facebook.com/video/video.php?v=432864835468

m******o
发帖数: 32
3
这个题用一个TreeMap就搞定了
I**********s
发帖数: 441
4
Inorder traversal, 遇到叶节点(左右子树都为空)的时候打印?
y*****e
发帖数: 712
5
lz呢个解释一下和这题有什么不同吗?
https://oj.leetcode.com/problems/binary-tree-upside-down/
感觉print order不一样是吗?
I**********s
发帖数: 441
6
代码如下:
#include
#include
using namespace std;
struct Node {
int val;
Node * left;
Node * right;
Node(int v): val(v), left(NULL), right(NULL) {}
};
void output(stack s) {
if (s.empty()) return;
int tmp = s.top();
s.pop();
output(s);
cout << tmp << " ";
}
void printT(Node * n, stack & s) {
if (n == NULL) return;
s.push(n->val);
if (n->left == NULL && n->right == NULL) {
output(s);
cout << endl;
} else {
printT(n->left, s);
printT(n->right, s);
}
s.pop();
}
int main() {
Node * root = new Node(1);
root->left = new Node(2);
root->left->left = new Node(4);
root->left->right = new Node(5);
root->right = new Node(3);
root->right->left = new Node(6);
root->right->right = new Node(7);
stack s;
printT(root, s);
return 0;
}
输出:
1 2 4
1 2 5
1 3 6
1 3 7
f****9
发帖数: 506
7
不是这个意思。
google Printing a Binary Tree top-down (column wise)看看。

【在 I**********s 的大作中提到】
: 代码如下:
: #include
: #include
: using namespace std;
: struct Node {
: int val;
: Node * left;
: Node * right;
: Node(int v): val(v), left(NULL), right(NULL) {}
: };

I**********s
发帖数: 441
8
哦, 这样啊. 下面应该可以.
/**
* Printing a Binary Tree top-down (column wise). See:
* http://codereview.stackexchange.com/questions/36799/printing-a-binary-tree-top-down-column-wise
* E.g., We have a binary tree, suppose like this:
*
* 8
* / \
* 6 10
* / \ / \
* 4 7 9 12
* / \
* 3 5
* Output should be:
* 3
* 4
* 6 5
* 8 7 9
* 10
* 12
*/
#include
#include
#include
using namespace std;
struct Node {
int val;
Node * left;
Node * right;
Node(int v): val(v), left(NULL), right(NULL) {}
};
void printT(Node * n, map > & m, int col, int &mi, int &ma)
{
if (n == NULL) return;
m[col].push_back(n->val);
mi = min(mi, col);
ma = max(ma, col);
printT(n->left, m, col - 1, mi, ma);
printT(n->right, m, col + 1, mi, ma);
}
void output(map > & m, int mi, int ma) {
for (int i = mi; i <= ma; ++ i) {
for (int j = 0; j < m[i].size(); ++ j) {
cout << m[i][j] << " ";
}
cout << endl;
}
}
void test() {
Node * root = new Node(8);
root->left = new Node(6);
root->left->left = new Node(4);
root->left->right = new Node(7);
root->left->left->left = new Node(3);
root->left->left->right = new Node(5);
root->right = new Node(10);
root->right->left = new Node(9);
root->right->right = new Node(12);
map > m;
int mi = 0, ma = 0, col = 0;
printT(root, m, col, mi, ma);
output(m, mi, ma);
}
int main() {
test();
return 0;
}

【在 f****9 的大作中提到】
: 不是这个意思。
: google Printing a Binary Tree top-down (column wise)看看。

k****s
发帖数: 16
9
用HashMap,最后返回最小column和最大column,效率还更高吧。

【在 m******o 的大作中提到】
: 这个题用一个TreeMap就搞定了
b******i
发帖数: 914
10
搞C++的不懂TreeMap

【在 m******o 的大作中提到】
: 这个题用一个TreeMap就搞定了
相关主题
大虾帮忙看看代码,为什么 res参数传入不了,返回总是nullFind the node with given value in binary tree in in-order
问题在哪儿啊 kth Node of BST,大家帮忙一个题:给定一个节点,找right neighbor
发现一个很恶心的基础问题一道在线题
进入JobHunting版参与讨论
d********m
发帖数: 101
11
bless!
o***c
发帖数: 32
12
楼主几轮?是phd么

【在 f****9 的大作中提到】
: 感觉挂了。
: coding都是常见题。感谢国人面试官。
: 有一个lc上没有,Printing a Binary Tree top-down (column wise)。
: design让设计uber backend。
: 感觉design应该挂了。
: lc没有的那个题也折腾了半天,一度纠结在错误的设计,没来得及coding。
: 还是经验不足,有个不错的想法赶快coding是王道。
: design面我的貌似是个大神啊:
: https://www.facebook.com/video/video.php?v=432864835468

h**d
发帖数: 630
13
用preorder的话 不能保证打印col时是从上往下的 比如给5加个right child就看出来了
我的c++代码 用BFS:
void printBT_BFS(TreeNode *root, map > &hash, int &mincol,
int &maxcol)
{
if(root==NULL) return;
queue > q; //store the node pointer and the column
q.push(pair(root, 0));
while(!q.empty())
{
pair item = q.front();
q.pop();
TreeNode *node = item.first;
int col = item.second;
hash[col].push_back(node->val);
mincol = min(mincol, col);
maxcol = max(maxcol, col);
if(node->left!=NULL) q.push(pair(node->left, col-1)
);
if(node->right!=NULL) q.push(pair(node->right, col+
1));

}
}
void print(map > &hash, int mincol, int maxcol)
{
for(int i=mincol;i<=maxcol;i++)
{
for(int j=0;j {
cout< }
cout< }
}

【在 I**********s 的大作中提到】
: 哦, 这样啊. 下面应该可以.
: /**
: * Printing a Binary Tree top-down (column wise). See:
: * http://codereview.stackexchange.com/questions/36799/printing-a-binary-tree-top-down-column-wise
: * E.g., We have a binary tree, suppose like this:
: *
: * 8
: * / \
: * 6 10
: * / \ / \

l******9
发帖数: 26
14
右子树相同 column 的节点的level可能更高,所以不能总是加在最后

【在 I**********s 的大作中提到】
: 哦, 这样啊. 下面应该可以.
: /**
: * Printing a Binary Tree top-down (column wise). See:
: * http://codereview.stackexchange.com/questions/36799/printing-a-binary-tree-top-down-column-wise
: * E.g., We have a binary tree, suppose like this:
: *
: * 8
: * / \
: * 6 10
: * / \ / \

d******v
发帖数: 801
15
这题是最近高频题

【在 f****9 的大作中提到】
: 感觉挂了。
: coding都是常见题。感谢国人面试官。
: 有一个lc上没有,Printing a Binary Tree top-down (column wise)。
: design让设计uber backend。
: 感觉design应该挂了。
: lc没有的那个题也折腾了半天,一度纠结在错误的设计,没来得及coding。
: 还是经验不足,有个不错的想法赶快coding是王道。
: design面我的貌似是个大神啊:
: https://www.facebook.com/video/video.php?v=432864835468

a****o
发帖数: 21
16
打印树那道题算是fb的经典题目了吧
1 (共1页)
进入JobHunting版参与讨论
相关主题
Find a sub tree with min weight怎么做Interview question::
渣渣cs本科半应届如何找工作大虾帮忙看看代码,为什么 res参数传入不了,返回总是null
mirror 一个binary tree, 用non-recursive解法怎么做问题在哪儿啊 kth Node of BST,大家帮忙
插入节点到complete binary tree的末尾发现一个很恶心的基础问题
回馈本版,新鲜店面,新题新气象Find the node with given value in binary tree in in-order
热腾腾的 LinkedIn 电面题攒RP一个题:给定一个节点,找right neighbor
一道google面试题一道在线题
狗店面,求BLESS请问怎么样才能想到关于tree等比较简洁的答案呢?同时记一下超慢速刷题过半以鼓励自己
相关话题的讨论汇总
话题: node话题: int话题: left话题: root话题: null