这个人懒死了不想写解释
class TreeNode { public: int val; TreeNode *left; TreeNode *right; TreeNode():val(-1),left(NULL),right(NULL) {} TreeNode(int x) : val(x), left(NULL), right(NULL) {} };class Tree { public: TreeNode* nodesArray; int total_count; Tree(int arr[], int count) : total_count(count) { nodesArray=new TreeNode[count]; for (int i=0;ibuffer; buffer.push(root); int current_level_count=1, next_level_count=0; while (!buffer.empty()) { TreeNode* current=buffer.front(); buffer.pop(); if (current) cout << current->val << ' '; else cout << "null "; --current_level_count; /* if (current->left) { buffer.push(current->left); ++next_level_count; } if (current->right) { buffer.push(current->right); ++next_level_count; }*/ //try to display the null child. if (current) { buffer.push(current->left); buffer.push(current->right); next_level_count+=2; } if (current_level_count==0) { cout << endl; current_level_count=next_level_count; next_level_count=0; } }}