66. 二叉树的前序遍历

版权声明:博主萌新,从头开始,请多指教。 https://blog.csdn.net/dougan_/article/details/79531336

66. 二叉树的前序遍历 

给出一棵二叉树,返回其节点值的前序遍历。

样例

给出一棵二叉树 {1,#,2,3},

   1
    \
     2
    /
   3

 返回 [1,2,3].


/**
 * Definition of TreeNode:
 * class TreeNode {
 * public:
 *     int val;
 *     TreeNode *left, *right;
 *     TreeNode(int val) {
 *         this->val = val;
 *         this->left = this->right = NULL;
 *     }
 * }
 */

class Solution {
public:
    /**
     * @param root: A Tree
     * @return: Preorder in ArrayList which contains node values.
     */
    void pre(TreeNode *head,vector<int> &a){
        a.push_back(head->val);
        if(head->left!=NULL)pre(head->left,a);
        if(head->right!=NULL)pre(head->right,a);
    }
    vector<int> preorderTraversal(TreeNode * root) {
        // write your code here
        vector<int> v;
        if(root==NULL)return v;
        pre(root,v);
        return v;
    }

};

猜你喜欢

转载自blog.csdn.net/dougan_/article/details/79531336