题目:
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?
分析:二叉树的前序遍历。
一、递归
要建一个全局变量;
二、迭代
利用到栈。这是第一次自己用栈:stack<TreeNode*> stk;
有两种入栈方法:一是每次都将根节点入栈,然后节点指向左子树;二是每次先将右子树入栈,再将左子树入栈。
这种真的不难,重要的是要细心