打印二叉树每一层节点数量

来源:互联网 发布:矩阵向量的模 编辑:程序博客网 时间:2024/05/16 01:40
#include <iostream>#include <queue>using namespace std;struct Node{      int value;      Node *left;      Node *right;};void printNumOfEveryLevel(Node *root){      if (NULL == root)      {          return;      }      queue<Node*> buf;      buf.push(root);      buf.push(NULL);      int count = 0;      int level = 0;      while (buf.size())      {          Node *front = buf.front();          buf.pop();          if (front == NULL)          {              level++;              cout << level << " : " << count << endl;              count = 0;              if (buf.empty())              {                  break;              }              else              {                  buf.push(NULL);              }          }          else          {              count++;              if (front->left != NULL)              {                  buf.push(front->left);              }              if (front->right != NULL)              {                  buf.push(front->right);              }          }      }}



原创粉丝点击