Binary Tree Traversal Iteratively
二叉树的迭代遍历 递归版的二叉树遍历十分简单,可谓名副其实的 Clean Code。如果不是为了面试,恐怕没有几个人会选择使用迭代来完成二叉树的前序、中序、后序遍历。 现场手写迭代版本的二叉树遍历并非易事,所以本文旨在找出最优、最容易理解的算法模板,帮助大家记忆迭代版本的代码。 前序和后序遍历 首先,我们来整理一下前序遍历迭代版的思路。前序遍历的顺序为: 根 -> 左 -> 右 即访问过根节点之后,先访问左节点再访问右节点,根据栈 FILO(先进后出)的特性,那么再访问完根节点后,先将右子节点压栈,再将左子节点压栈即可。迭代版的代码就不难写出了: //...
2020, Jun 27 — 3 minute read