决定学习怎么写翻转二叉树了.

2015-06-11 09:56:53 +08:00
 banxi1988
https://twitter.com/mxcl/status/608682016205344768

from @mxcl
> Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
6483 次点击
所在节点    程序员
21 条回复
ycge234
2015-06-11 10:09:33 +08:00
然并卵,并不能进Google···
knightdf
2015-06-11 10:37:48 +08:00
然并卵
JackBlack2006
2015-06-11 10:43:23 +08:00
你就算学会写,不出镇子也没用,我大学刚毕业那会儿给谷歌发简历,人家要面试,结果我说自己在镇子,人家就没回复了,连 Skype 远程面试机会都没有
linzhi
2015-06-11 11:36:53 +08:00
然并卵
gaoxt1983
2015-06-11 11:49:17 +08:00
我还以为翻转二叉树是啥呢,原来就是左右换一下,写个递归不就行了……
pyKun
2015-06-11 12:09:10 +08:00
@JackBlack2006 啥是镇子?
yanyandenuonuo
2015-06-11 12:14:45 +08:00
@JackBlack2006 高端黑么。。。
bellchu
2015-06-11 12:19:07 +08:00
@gaoxt1983 不可以用递归
jadecoder
2015-06-11 12:24:52 +08:00
@pyKun 景德镇
sheep42
2015-06-11 12:26:26 +08:00
@JackBlack2006 每隔一段时间会有那边的工程师来面试的啊
Andiry
2015-06-11 12:26:52 +08:00
我会写递归及非递归的二叉树翻转,然并卵
Andiry
2015-06-11 12:30:15 +08:00
不过说句实话,遍历也就罢了,翻转二叉树这种东西有什么实际用途吗?考这到底有什么用,实在想不出来
wdlth
2015-06-11 13:22:52 +08:00
下次Google又会出,你可以做出一个翻转的Google页面么……
ffffwh
2015-06-11 13:23:41 +08:00
Google Sucks -- YinWang
jjx
2015-06-11 13:25:29 +08:00
什么是二叉树?:)
lxrmido
2015-06-11 13:33:04 +08:00
@wdlth
transform:rotateX(180deg);
suliuyes
2015-06-11 13:50:52 +08:00
on a whiteboard
是要手写吧,大牛手写算法也不一定牛。平时用的少,还得先准备
KingHL
2015-06-11 13:51:44 +08:00
刷题很好,然而并没有事很么卵用
TimLang
2015-06-11 14:50:16 +08:00
以前数据结构考试比较难的就是二叉树的前序、中序、后序,而且全是在纸上自己算出来写卷子上的。话说工作到现在碰到过这个应用场景。
Magic347
2015-06-11 15:35:36 +08:00
非递归不难实现,用一个栈就可解。
初始化时,将根节点入栈。
每次弹出栈顶元素(如果有),swap该元素的左右孩子节点(如果有孩子节点,注意左右孩子节点是否均存在),
然后依次把swap之后的左右孩子节点(如果存在)重新压回栈内。
重复上述操作,直到栈空,done。
递归实现的话,就更符合人类思维的自然逻辑了,此处skip。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/197694

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX