LintCode 68.二叉树的前序遍历

来源:互联网 发布:淘宝一淘怎么没有了 编辑:程序博客网 时间:2024/05/21 16:23

第一次做博客,写程序,不懂类,不会c++,开学前俩个周也比较忙,我就百忙之中,抽点时间写个简单的吧。

感觉很简单,但是对我来说难度好大

数据结构中二叉树的前序遍历:

若二叉树为空,则空操作返回;否则

1.反问根节点;

2.前序遍历根节点左子树;

3.前序遍历根节点右子树。

二叉树的前序遍历 

 

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

您在真实的面试中是否遇到过这个题?  Yes 样例

给出一棵二叉树 {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.
     */
        vector<int> l;
    vector<int> preorderTraversal(TreeNode * root) {
       
        if(root==NULL)
           { return l;}
        l.push_back(root->val);//添加二叉树中前序遍历的元素
        preorderTraversal(root->left);
        preorderTraversal(root->right);
        return l;
    
    }
   
};
原创粉丝点击