Q:
例如:
给定的二叉树为{1,#,2,3},
返回:[1,2,3]
A:
递归太简单了,用迭代。
两个啥区别呢?
- 递归是自己的子孙不断重复自己的命运,全都一个模子,每一代的起点都是同一个原点;
- 迭代是后面的每一代每重复新的一轮都有所提升,老一辈的果实,下一代在此基础上发展升级,实现一代比一代强,直到远方的尽头。
思路:
用栈存,从栈取至数组
前序遍历:根、左、右
用到的函数:根作为第一个压栈,自然最后一个出栈,用**pop()**取
循环迭代:函数while(),循环的前提是栈不能为空,左右节点先后压入的前提是两者不能为空