avatar
金星撞火星# pets - 心有所宠
W*t
1
好像所有的电子设备都有的样子,莫非是搞专业评测的?
avatar
s*t
2
电面一家最近比较火的startup
实现二叉树的postorder traversal,我就写啊,递归,很快搞定,十行左右,然后面
试官说不用写这么多四、五就能搞定,想了想也改好了。
follow up,不用递归,我就改啊,while循环,有个小错误,他提示之后,也写好了。
又follow up,在while循环的基础上,写getfirst函数,找到postorder的第一个node
指针,然后写个getnext函数,根据第一个接着一个一个找下去。我问能不能有额外内
存或者可不可以改变二叉树,比如删节点,回答说不行。然后就悲剧了,实在想不出
getnext怎么写,最后把getfirst写好就到时间了。现在想想,单向的二叉树不可能实
现吧?!嗨,当时应该多问一句是不是双向的。
avatar
j*e
3
会被秒据么
avatar
c*r
5
他们不会什么都有呀,有了ipad 这个PC killer后,家里的电脑都可以扔掉了.

【在 W*****t 的大作中提到】
: 好像所有的电子设备都有的样子,莫非是搞专业评测的?
avatar
s*s
6
做了一下,不知道对不对。
void PostVisit(TreeNode *tree) {
if(!tree)
return;
PostVisit(tree->left);
PostVisit(tree->right);
print(tree->value);
}
void PostVisit(TreeNode *tree) {
if(!tree)
return;
stack stkNodes;
stkNodes.push(tree);
while(!stkNodes.empty()) {
TreeNode *node = stkNodes.top();
if(node->left)
stkNodes.push(node->left);
else if(node->right)
stkNodes.push(node->right);
else {
visit(node);
stkNodes.pop();
while(!stkNodes.empty()) {
TreeNode *parent = stkNodes.top();
if(!parent->right || node==parent->right) {
visit(parent)
node = parent;
stkNodes.pop();
} else {
stkNodes.push(parent->right);
break;
}
}
}
}
}
TreeNode *getFirst(TreeNode *root) {
if(!root)
return NULL;
TreeNode *node = root;
while(node->left)
node = node->left;
return node;
}
TreeNode *getNext(TreeNode *root, TreeNode *pre) {
if(!tree)
return;
bool bReturnNode = false;

stack stkNodes;
stkNodes.push(tree);
while(!stkNodes.empty()) {
TreeNode *node = stkNodes.top();
if(node == pre)
bReturnNode = true;

if(node->left)
stkNodes.push(node->left);
else if(node->right)
stkNodes.push(node->right);
else {
if(bReturnNode && node!=pre)
return node;
visit(node);
stkNodes.pop();
while(!stkNodes.empty()) {
TreeNode *parent = stkNodes.top();
if(!parent->right || node==parent->right) {
if(bReturnNode && parent!=pre)
return parent;
visit(parent)
node = parent;
stkNodes.pop();
} else {
stkNodes.push(parent->right);
break;
}
}
}
}
return NULL;
}

node

【在 s*********t 的大作中提到】
: 电面一家最近比较火的startup
: 实现二叉树的postorder traversal,我就写啊,递归,很快搞定,十行左右,然后面
: 试官说不用写这么多四、五就能搞定,想了想也改好了。
: follow up,不用递归,我就改啊,while循环,有个小错误,他提示之后,也写好了。
: 又follow up,在while循环的基础上,写getfirst函数,找到postorder的第一个node
: 指针,然后写个getnext函数,根据第一个接着一个一个找下去。我问能不能有额外内
: 存或者可不可以改变二叉树,比如删节点,回答说不行。然后就悲剧了,实在想不出
: getnext怎么写,最后把getfirst写好就到时间了。现在想想,单向的二叉树不可能实
: 现吧?!嗨,当时应该多问一句是不是双向的。

avatar
s*k
7
跟chase家历史短就再考虑一下吧。另外总信用历史也要长,C家biz卡最近审查变严格了
avatar
w*1
8
谢谢分享
avatar
W*t
9
平均一人有两个mac吧,还估计得有一个PC,可能不好意思说
kindle不知道有几个
iphone肯定有
ipod估计至少有两个
再搞一个ipad
不知道3G的出了之后会不会再买一个
你数数看

【在 c**r 的大作中提到】
: 他们不会什么都有呀,有了ipad 这个PC killer后,家里的电脑都可以扔掉了.
avatar
p*2
10
RF
avatar
b*t
11
不需要果果版
本版js们装备也很齐全啊

【在 W*****t 的大作中提到】
: 平均一人有两个mac吧,还估计得有一个PC,可能不好意思说
: kindle不知道有几个
: iphone肯定有
: ipod估计至少有两个
: 再搞一个ipad
: 不知道3G的出了之后会不会再买一个
: 你数数看

avatar
s*t
12
getnext只能有一个输入参数

【在 s*******s 的大作中提到】
: 做了一下,不知道对不对。
: void PostVisit(TreeNode *tree) {
: if(!tree)
: return;
: PostVisit(tree->left);
: PostVisit(tree->right);
: print(tree->value);
: }
: void PostVisit(TreeNode *tree) {
: if(!tree)

avatar
a*e
13
本版js的装备肯定比他们多样化啊。要是苹果也出电饭锅,估计果版人手一个苹果电饭
锅。

【在 b*****t 的大作中提到】
: 不需要果果版
: 本版js们装备也很齐全啊

avatar
h*u
14
mark
avatar
c*a
15
咋换头像了?这个是乐谱么?

【在 a******e 的大作中提到】
: 本版js的装备肯定比他们多样化啊。要是苹果也出电饭锅,估计果版人手一个苹果电饭
: 锅。

avatar
a*e
16
是啊,随便找一个乐谱

【在 c*****a 的大作中提到】
: 咋换头像了?这个是乐谱么?
avatar
c*a
17
还是原来的小姑娘好看。。。

【在 a******e 的大作中提到】
: 是啊,随便找一个乐谱
avatar
s*r
18
他们大多是富人~这里大多是待富者~
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。