class Solution {
public:
vector preorderTraversal(TreeNode* root) {
stack stk;
vector ans;
while(root||stk.size()){
while(root){
ans.push_back(root->val);
stk.push(root);
root=root->left;
}
root=stk.top()->right;
stk.pop();
}
return ans;
}
};
代码:
class Solution {
public:
vector ans;
vector preorderTraversal(TreeNode* root) {
dfs(root);
return ans;
}
void dfs(TreeNode* root){
if(!root) return ;
ans.push_back(root->val);
dfs(root->left);
dfs(root->right);
}
};



