题目:preorderTraversal
要求:
给出一棵二叉树,返回其节点值的前序遍历。
样例:
给出一棵二叉树 {1,#,2,3},
1
\
2
/
3
返回 [1,2,3].
算法要求:
你能使用非递归实现么?
解题思路:
直接递归搞定,非递归有栈。
算法如下:
vector<int> vec;
void fDisplay(TreeNode *root) {
if (root == NULL) {
return;
}
vec.push_back(root->val);
fDisplay(root->left);
fDisplay(root->right);
}
vector<int> preorderTraversal(TreeNode *root) {
// write your code here
vec.clear();
fDisplay(root);
return vec;
}