qingcheng奕  

http://oj.leetcode.com/problems/binary-tree-preorder-traversal/

二叉树的先跟遍历,写的是递归版本,也可以使用stack来进行,替代了递归函数。

class Solution {
public:
    void preOrder(TreeNode *root,vector<int> &ans)
    {    
        ans.push_back(root->val);
        if(root->left)
        preOrder(root->left,ans);
        if(root->right)
        preOrder(root->right,ans);
    }
    vector<int> preorderTraversal(TreeNode *root) {
        vector<int> ans;
        if(root)
        preOrder(root,ans);
        return ans;
    }
};

 

posted on 2014-02-15 09:48  qingcheng奕  阅读(134)  评论(0)    收藏  举报