Preorder traversal:
- Visit the root.
- Traverse the left subtree.
- Traverse the right subtree.
/**
* Definition of a binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
A recursive solution is simple:
void pre-order( TreeNode *root)
{
if (not root)
return ;
std:cout<< root->val << ' ';
pre-order(root->left);
pre-order(root->right);
}
What about an iterative solution?
Hint: use stack.
This comment has been removed by the author.
ReplyDeleteGood job....
ReplyDeletec++ interview questions and answers