Binary Tree Preorder Traversal

#define NULL 0

class Solution {
public:
    vector<int> preorderTraversal(TreeNode *root) {
        stack<TreeNode*> s;
        vector<int> v1;

        if(root!=NULL)
        s.push(root);

        while(s.size())
        {
            TreeNode* tmp;
            tmp = s.top();
            s.pop();
            v1.push_back(tmp->val);
            if(tmp->right != NULL )
            {
                s.push(tmp->right);
            }
            if(tmp->left != NULL)
            {
                s.push(tmp->left);
            }
        }
        return v1;
    }
};

 

posted @ 2014-08-14 11:26  醉剑客  阅读(99)  评论(0编辑  收藏  举报