题目:给出一棵二叉树,返回其节点值的前序遍历。
样例:
给出一棵二叉树 {1,#,2,3}
,
1 \ 2 / 3
返回 [1,2,3]
代码:
class Solution {
public:
/**
* @param root: The root of binary tree.
* @return: Preorder in vector which contains node values.
*/
void pre(vector<int> &v,TreeNode *root)
{
if(root==NULL) return;
else {
v.push_back(root->val);
pre(v,root->left);
pre(v,root->right);
}
}
vector<int> preorderTraversal(TreeNode *root) {
// write your code here
vector<int> v;
pre(v,root);
return v;
}
};
感想:这个题课本上有原函数,所以加一个成员函数,建个向量遍历就可以了。