parent
65edb41040
commit
186d4e4ca4
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
我们先看一下前序遍历。
|
||||
|
||||
前序遍历是中左右,每次先处理的是中间节点,那么先将跟节点放入栈中,然后将右孩子加入栈,再加入左孩子。
|
||||
前序遍历是中左右,每次先处理的是中间节点,那么先将根节点放入栈中,然后将右孩子加入栈,再加入左孩子。
|
||||
|
||||
为什么要先加入 右孩子,再加入左孩子呢? 因为这样出栈的时候才是中左右的顺序。
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ public:
|
|||
|
||||
# 总结
|
||||
|
||||
此时我们用迭代法写出了二叉树的前后中序遍历,大家可以看出前序和中序是完全两种代码风格,并不想递归写法那样代码稍做调整,就可以实现前后中序。
|
||||
此时我们用迭代法写出了二叉树的前后中序遍历,大家可以看出前序和中序是完全两种代码风格,并不像递归写法那样代码稍做调整,就可以实现前后中序。
|
||||
|
||||
**这是因为前序遍历中访问节点(遍历节点)和处理节点(将元素放进result数组中)可以同步处理,但是中序就无法做到同步!**
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue