p*t
5 楼
举个先序的例子给你吧
while(current != NULL || !stack.empty()){
if(current != NULL){
stack.push(current);
visit(current);
current = current -> left;
}
else{
current = stack.top();
stack.pop();
current = current -> right;
}
}
中序的其实很类似 访问current的时间变一下而已
stack
【在 W***o 的大作中提到】
: 今天给了一个recursion的解法,然后又让我用stack做,我当时萌了,大家说说stack
: 咋解?
while(current != NULL || !stack.empty()){
if(current != NULL){
stack.push(current);
visit(current);
current = current -> left;
}
else{
current = stack.top();
stack.pop();
current = current -> right;
}
}
中序的其实很类似 访问current的时间变一下而已
stack
【在 W***o 的大作中提到】
: 今天给了一个recursion的解法,然后又让我用stack做,我当时萌了,大家说说stack
: 咋解?
w*a
7 楼
后续可以当先序做,push的时候先左后右,最后reverse一下,也简单
k*a
10 楼
曾经有个牛人告诉我,只要可以递归的,都可以用栈实现
d*n
14 楼
There are several ways to traverse a binary tree:
http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
【在 p**t 的大作中提到】
: 因为递归的实际实现就是把前一个function call入栈 然后处理调用的新call。。
http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
【在 p**t 的大作中提到】
: 因为递归的实际实现就是把前一个function call入栈 然后处理调用的新call。。
p*t
15 楼
还有pre-order的。。。
【在 d****n 的大作中提到】
: There are several ways to traverse a binary tree:
: http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
: http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
【在 d****n 的大作中提到】
: There are several ways to traverse a binary tree:
: http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
: http://codeanytime.blogspot.com/2014/11/binary-tree-postorder-t
相关阅读
给了口头OFFER, 但是不见paper work,咋办?组里有两个business analyst openings,可内推。 (转载)opt extension申请期间被裁员,需要重新申请opt吗?报OFFER 带问问题Box 2 hour coding exercise收到recruiter的邮件,但是还没有准备好面试,该怎么回复?版上不是很多愿意付头两个月工资找工作的吗?怎么leetcode收费就受不了了?FB onsite后一般多久出结果?youtube data scientist 面经Opt延长到48个月请教一段英文是啥意思dropbox online coding时间只有两种工作友情提示:chase IT 出问题了 (转载)第一个on site, 有个Lunch,不懂. 求指教.求教offer选择问题,以及A家选组的问题eBay的绿卡政策职位通过negotiate 涨了一级求推荐费城附近的ICC或者CCC求问如何面试中虐烙印