7、 binary-tree-preorder-traversal
求给定的二叉树的前序遍历。
例如:
给定的二叉树为{1,#,2,3},
1↵ ↵ 2↵ /↵ 3↵
返回:[1,2,3].
备注;用递归来解这道题太没有新意了,可以给出迭代的解法么?
Given a binary tree, return the preorder traversal of its nodes’ values.
For example:
Given binary tree{1,#,2,3},
1↵ ↵ 2↵ /↵ 3↵
return[1,2,3].
Note: Recursive solution is trivial, could you do it iteratively?
思路:1、递归,先将根的值加入到数组列表,然后递归访问根的左和右结点。
2、非递归,除了数组列表外定义一个栈来达到结点的目的,把栈顶元素当做“根结点”,然后把其右和左孩子结点加入栈(先进后出 )。