K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
默认基于栈结构实现,二叉树节点定义包含val、left、left三个属性,分别存储节点值、左子节点、右子节点。
前序遍历迭代实现时,访问根节点后需先将右子节点压入栈,再将左子节点压入栈,即可保证输出顺序为根→左→右
中序遍历迭代实现时,直接按右→根→左的顺序将节点压入栈,即可得到左→根→右的遍历结果
后序遍历的迭代实现只能用双栈完成,无法通过单栈结构实现
三种DFS遍历的迭代实现都不需要记录节点的访问状态