1.描述:
给出一棵二叉树,返回其节点值的前序遍历。
样例
2.思路:
给出一棵二叉树 {1,#,2,3}
,
1 \ 2 / 3
返回 [1,2,3]
.
先访问根节点,若不为空将节点值添加到vector中,然后递归使用函数访问左右子树。
3.代码:
vector<int> v;
vector<int> preorderTraversal(TreeNode *root) {
if(root==NULL) {return v;}
else {
v.push_back(root->val);
preorderTraversal(root->left);
preorderTraversal(root->right);
}
return v;
}
4.感想:
刚开始把vector定义在函数里,导致每次递归都初始化vector,就wrong answer