动画演示二叉树的前序遍历

LeetCode上第144 号问题:二叉树的前序遍历

题目

给定一个二叉树,返回它的 前序 遍历。

示例:

输入: [1,null,2,3]


输出: [1,2,3]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?

解题思路

栈(Stack)的思路来处理问题。
前序遍历的顺序为根-左-右,具体算法为:

  • 把根节点push到栈中
  • 循环检测栈是否为空,若不空,则取出栈顶元素,保存其值
  • 看其右子节点是否存在,若存在则push到栈中
  • 看其左子节点,若存在,则push到栈中。

动画演示

动画演示GIF有点大,请稍微等待一下加载显示^_^
动画演示

参考代码

参考代码

更多内容

posted @ 2018-11-15 15:30  五分钟学算法  阅读(2708)  评论(0编辑  收藏  举报