205

问答题 205 /413

手写代码:二叉树深度优先遍历

参考答案

参考回答:

//深度优先搜索

//利用栈,现将右子树压栈再将左子树压栈

void DepthFirstSearch(BitNode *root)
{
stack<BitNode*> nodeStack;
nodeStack.push(root);
while (!nodeStack.empty())
{
BitNode *node = nodeStack.top();
cout << node->data << ' ';
nodeStack.pop();
if (node->right)
{
nodeStack.push(node->right);
}
if (node->left)
{
nodeStack.push(node->left);
}
}
}