二叉树层次遍历

可以通过求第K层的结点,但是反复递归时间复杂度很高

可以通过队列来实现

void LevelTraverse(BiTNode * pRoot)  
{  
	if(pRoot == NULL)  
		return;  
	queue<BiTNode *> q;  
	q.push(pRoot);  
	while(!q.empty())  
	{  
		BiTNode * pNode = q.front();  
		q.pop();  
		cout<<pNode->data << endl; // 访问节点   
		if(pNode->lchild != NULL)  
			q.push(pNode->lchild);  
		if(pNode->rchild != NULL)  
			q.push(pNode->rchild);  
	}  
	return;  
}
原文地址:https://www.cnblogs.com/liuweilinlin/p/3286280.html