从上往下打印二叉树 (二叉树的BFS)

原创 2018年04月17日 19:18:40

题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 

分析:BFS问题,借助队列即可。

vector<int> PrintFromTopToBottom(TreeNode* root) {
        vector<int> res;
        if(root==NULL) return res; //这一步很重要,否则无法处理root=NULL的情况,会造成段错误。
        queue<TreeNode*> q;
        q.push(root); //root入队
        while(!q.empty()){
            res.push_back(q.front()->val);  //访问队首
            if(q.front()->left!=NULL)
                q.push(q.front()->left);    //队首左子节点入队
            if(q.front()->right!=NULL)
                q.push(q.front()->right);   //队首右子节点入队
            q.pop();                        //队首出队
        }
        return res;
    }


从上往下打印二叉树BFS(C++)

题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路: 很明显,这是一个BFS遍历问题。使用一个辅助队列即可。 和很多二叉树问题一样,使用递归和非递归的方式实现。 【注:递归...
  • u013575812
  • u013575812
  • 2015-12-01 14:53:10
  • 878

《剑指offer》之从上往下打印二叉树

题目:从上往下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印,例如图,则依次打印出8,6,10,5,7,9,11. 分析:在学习数据结构的时候,我们学习了二叉树的三种遍历方式:前序,中序,...
  • lqgzfl
  • lqgzfl
  • 2015-08-22 01:22:42
  • 1319

剑指offer - 从上往下遍历二叉树

二叉树结点定义如下: struct BinaryTreeNode{ int value; BinaryTreeNode *pLeft; BinaryTreeNode *pRight; }; ...
  • zkp0601
  • zkp0601
  • 2015-10-01 21:05:06
  • 476

[剑指offer学习心得]之:从上往下打印二叉树

题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左向右的顺序打印。解题思路其实一想就觉得是宽度优先遍历。当然这样想是不是太粗暴了,循序渐进循序渐进这道题实质就是考察树的遍历算法,只是这种算法不...
  • yoxiyehei_wzx
  • yoxiyehei_wzx
  • 2016-10-20 10:14:17
  • 184

《剑指offer》从上往下打印二叉树

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/p...
  • libin1105
  • libin1105
  • 2015-09-11 16:08:19
  • 830

【剑指Offer】从上往下打印二叉树 解题报告(Python)

【剑指Offer】从上往下打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interv...
  • fuxuemingzhu
  • fuxuemingzhu
  • 2018-03-19 19:28:11
  • 29

剑指Offer面试题23(Java版):从上往下打印二叉树

题目:从上往下打印二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入下图的二叉树,则一次打印出8,6,10,5,7,9,11. 这道题实质上考察的就是树的遍历算法,只是这种遍历不...
  • jsqfengbao
  • jsqfengbao
  • 2015-08-03 20:41:47
  • 2431

牛客网刷题之从上往下打印二叉树

题目描述:解题思路:不过就是二叉树的遍历,不过要求同层节点从左到右打印,那么,可以利用队列的先进先出特性,先将二叉树的根节点存进队列,并依次从左到右存进数的左右节点,最后用一个动态数组存储数据接可以了...
  • lks1139230294
  • lks1139230294
  • 2016-10-14 21:21:12
  • 200

从上往下打印出二叉树的每个节点,同层节点从左至右打印(剑指offer,面试题32)

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 题目思路: 采用一个例子说明: 8,6,10,5,7,9,11. 对于第一层,只有根节点 “8”,第二层有节点“6”和“...
  • sxs11
  • sxs11
  • 2017-07-18 11:36:14
  • 244

JAVA实现从上往下打印二叉树(《剑指offer》)

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 import java.util.ArrayList; import java.util.LinkedList; /**...
  • qq_15062527
  • qq_15062527
  • 2015-10-08 22:13:46
  • 1413
收藏助手
不良信息举报
您举报文章:从上往下打印二叉树 (二叉树的BFS)
举报原因:
原因补充:

(最多只允许输入30个字)