题目:Given a binary tree, return the preorder traversal of its nodes' values.
前序输出二叉树,需要用到栈来存储每级节点。
vector<int> preorderTraversal(TreeNode *root)
{
stack<TreeNode*> stk;
vector<int> res;
while(root !=NULL || !stk.empty())
{
while(root!=NULL)
{
res.push_back(root->val);
stk.push(root);
root=root->left;
}
root=stk.top()->right;
stk.pop();
}
return res;
}