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; } };