144. Binary Tree Preorder Traversal - cocoder39/coco39_LC GitHub Wiki
144. Binary Tree Preorder Traversal
vector<int> preorderTraversal(TreeNode* root) {
vector<int> res;
stack<TreeNode*> s;
while (root || ! s.empty()) {
if (root) {
res.push_back(root->val);
s.push(root);
root = root->left;
}
else { //! root && ! s.empty()
TreeNode* node = s.top();
s.pop();
root = node->right;
}
}
return res;
}