您的位置:首页 > 其它

LeetCode 之 Binary Tree Preorder Traversal

2016-01-22 14:45 323 查看
Given a binary tree, return the preorder traversal of its nodes' values.

For example:

Given binary tree
{1,#,2,3}
,

1
\
2
/
3


return
[1,2,3]
.

Note: Recursive solution is trivial, could you do it iteratively?

使用栈实现遍历,代码如下:

vector<int> preorderTraversal(TreeNode* root) {
stack<TreeNode*> tree;
vector<int> ans;
if(!root) return ans;
tree.push(root);
while(tree.size()){
TreeNode* temp=tree.top();
ans.push_back(temp->val);
tree.pop();
if(temp->right)
tree.push(temp->right);
if(temp->left)
tree.push(temp->left);
}
return ans;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: