avatar
w*1
1
我的做法要walk两遍. 先做reverse pre-order walk, 存到另一个stack里, 最后再pop
出来正好就是post-order.
这个似乎不太好.
请高手出来给个正解吧, 我哪都查不到阿
avatar
r*o
3
pre-order walk和post-order walk的顺序好像没什么关系啊。

pop

【在 w*****1 的大作中提到】
: 我的做法要walk两遍. 先做reverse pre-order walk, 存到另一个stack里, 最后再pop
: 出来正好就是post-order.
: 这个似乎不太好.
: 请高手出来给个正解吧, 我哪都查不到阿

avatar
w*1
5
reverse pre-order: root, right, left
post-order: left, right, root

【在 r****o 的大作中提到】
: pre-order walk和post-order walk的顺序好像没什么关系啊。
:
: pop

avatar
c*i
6
老板6am给每个人打电话,这也太夸张了。
avatar
j*l
7
你这方法我以前也见过,也总结出来可行
前序是N L R
逆前序是N R L
后序是L R N, 结果恰好和逆前序互为逆序
这种方法把后序化归为前序,思想挺好的
我现在还不知道有没有其他不用mark的非递归后序遍历方法。

【在 w*****1 的大作中提到】
: reverse pre-order: root, right, left
: post-order: left, right, root

avatar
b*v
8
为什么一般的递归不行?

pop

【在 w*****1 的大作中提到】
: 我的做法要walk两遍. 先做reverse pre-order walk, 存到另一个stack里, 最后再pop
: 出来正好就是post-order.
: 这个似乎不太好.
: 请高手出来给个正解吧, 我哪都查不到阿

avatar
r*o
9
哦,这个想法好。

【在 w*****1 的大作中提到】
: reverse pre-order: root, right, left
: post-order: left, right, root

avatar
j*l
10
递归是树遍历的平凡解法,面试时候肯定不会就让你用递归写。
非递归又数后序最麻烦,通常的解法都要用到mark,后序非递归遍历也是清华老严教材
的习题

【在 b******v 的大作中提到】
: 为什么一般的递归不行?
:
: pop

avatar
w*1
11
老严用的也是mark?
avatar
j*l
12
我们当时任课老师提示就是用mark,还说太难,考试只考前序和中序的非递归,结果考
题是不用递归求二叉树的最大深度(可以用前序和中序非递归实现,也可以用层序的队
列实现)
网上别人给出的老严习题解答,用的也是mark

【在 w*****1 的大作中提到】
: 老严用的也是mark?
avatar
w*1
13
老严用的也是mark?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。