二叉树的前序遍历

来源:互联网 发布:男士高档护肤品牌 知乎 编辑:程序博客网 时间:2024/06/05 04:22
给出一棵二叉树,返回其节点值的前序遍历。

样例
给出一棵二叉树 {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.
     */
    vector<int> preorderTraversal(TreeNode *root) {
        // write your code here
        vector<int> vec;
        first(vec,root);
        return vec;
        }
        void first(vector<int> &vec,TreeNode *root){
            if(root==NULL) return;
            else
            {
                vec.push_back(root->val);
                first(vec,root->left);
                first(vec,root->right);
            }
        }
};

写一个递归函数,将每一次遍历的节点放在vector里,前序遍历完成后,将vector里的值输出即可利用数组输出


0 0