zoukankan      html  css  js  c++  java
  • 从上往下打印二叉树

    【题目描述】

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

    【解题思路】
        用队列实现二叉树的层序遍历(即图中的广度优先遍历)
     
    【代码实现】
     1 /*
     2 struct TreeNode {
     3     int val;
     4     struct TreeNode *left;
     5     struct TreeNode *right;
     6     TreeNode(int x) :
     7             val(x), left(NULL), right(NULL) {
     8     }
     9 };*/
    10 class Solution {
    11 public:
    12     vector<int> PrintFromTopToBottom(TreeNode *root) {
    13         queue <TreeNode *> que;
    14         vector<int> res;
    15         if(root==NULL)
    16             return res; 
    17         que.push(root);
    18         while(que.size()!=0)
    19         {
    20             TreeNode *pNode=que.front();
    21             que.pop();
    22             res.push_back(pNode->val);     
    23 
    24             if(pNode->left!=NULL)
    25                 que.push(pNode->left);
    26             if(pNode->right!=NULL)
    27                  que.push(pNode->right);
    28         }
    29         return res;
    30     }
    31 };
  • 相关阅读:
    基于MFC的Media Player播放器的制作(1---播放器界面的布局)
    Codeforces 1182
    Codeforces 1169
    Codeforces 1167
    Codeforces 1166
    Codeforces 1148
    *Codeforces 1162
    Codeforces 1159
    点分治
    高斯消元*
  • 原文地址:https://www.cnblogs.com/lou424/p/5032459.html
Copyright © 2011-2022 走看看