Almost, but not quite.
The if
statement in C++ is not capitalized, and you must add brackets as follows:
void MyTree::Traverse(TreeNode *rt)
{
if(rt != NULL)
{
Traverse(rt -> left);
doSomething (rt);
Traverse(rt -> right);
}
}
If you do not add brackets, the statements doSomething(rt)
and Traverse(rt->right)
will be called no matter if the node is valid or not!