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]
.
class Solution {
public:
vector<int> preorderTraversal(TreeNode* root) {
vector<int>re;
if (root == NULL)
return re;
vector<TreeNode*>que;
que.push_back(root);
while (!que.empty())
{
TreeNode*n = que.back();
re.push_back(n->val);
que.pop_back();
if (n->right != NULL)
que.push_back(n->right);
if (n->left != NULL)
que.push_back(n->left);
}
return re;
}
};
accepted