程序员

从上到下顺序打印二叉树

2017-12-04  本文已影响0人  沧州宁少

从上到下不分行顺序打印二叉树。

废话不多说直接上代码

 void printFromTopBottom(TreeNode*pTreeRoot){
    
    if (!pTreeRoot ) {
        return;
    }
    //队列
    std:deque<TreeNode*> dequeTreeNode;
    
    dequeTreeNode.push_back(pTreeRoot);
    
    
    while (dequeTreeNode.size()) {
       
        TreeNode*pNode = dequeTreeNode.front();
        dequeTreeNode.pop_front();
        
        printf("%d",pNode->val);
        
        if (pNode->leftNode) {
            dequeTreeNode.push_back(pNode->leftNode);
        }
        if (pNode->rightNode) {
            dequeTreeNode.push_back(pNode->rightNode);
        }
    }
}

打印当前节点的时候,把当前节点的左右节点依次加入到deque的末尾,这样顺序打印。

举一反三 ,现在要分行顺序打印二叉树

通过分析,我们想到

上一篇 下一篇

猜你喜欢

热点阅读