题目:
从上往下打印出二叉树的每个结点,同一层的结点按照从左往右的顺序打印。
没有难度的一个题,广搜的直接形式,就是用队列。直接列代码了。
void PrintBinaryTreeFromTopToBottom(BinaryTreeNode * pNode)
{
if(pNode == NULL)
return ;
queue<BinaryTreeNode*>que;
que.push(pNode);
while(!que.empty())
{
BinaryTreeNode * temp = que.front();
cout<<temp->m_nValue<<endl;
que.pop();
if(temp->m_pLeft)
que.push(temp->m_pLeft);
if(temp->m_pRight)
que.push(temp->m_pRight);
}
}