zoukankan      html  css  js  c++  java
  • 二叉树的层次遍历

    按层遍历一棵二叉树,规律为从根节点开始,每访问一个节点时,如果该节点有子节点,则将子节点放到一个队列的末尾,接下来依次从队列头部取出元素,直到队列为空。

    //==================================================================
    // 《剑指Offer——名企面试官精讲典型编程题》代码
    // 作者:何海涛
    //==================================================================
    
    // 面试题32(一):不分行从上往下打印二叉树
    // 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。
    
    #include <cstdio>
    #include "..UtilitiesBinaryTree.h"
    #include <deque>
    
    void PrintFromTopToBottom(BinaryTreeNode* pRoot)
    {
        if (pRoot == nullptr)
            return;
    
        std::deque<BinaryTreeNode *> dequeTreeNode;
    
        dequeTreeNode.push_back(pRoot);
    
        while (dequeTreeNode.size())
        {
            BinaryTreeNode *pNode = dequeTreeNode.front();
            dequeTreeNode.pop_front();
    
            printf("%d ", pNode->m_nValue);
    
            if (pNode->m_pLeft)
                dequeTreeNode.push_back(pNode->m_pLeft);
    
            if (pNode->m_pRight)
                dequeTreeNode.push_back(pNode->m_pRight);
        }
    }
  • 相关阅读:
    Android零碎知识(一)
    Android零碎知识
    归属地查询(联网+本地)
    XML文件生成——借助JDOM
    XML文件生成
    Win32汇编语言语法基础
    Nmap 常用命令语法
    Flask 框架基础知识笔记
    Web前端开发JQuery框架
    Web前端开发JavaScript提高
  • 原文地址:https://www.cnblogs.com/larry-xia/p/10701700.html
Copyright © 2011-2022 走看看