标签:load http 倒序 节点 shu code 插入 init strip
与 LeetCode 102 ——二叉树的层次遍历 类似,我们只需要将每一层的数据倒序输出即可。
定义一个存放树中数据的向量 data,一个存放树的每一层数据的向量 level_data 和一个存放每一层节点的队列 node_queue。
如果根节点非空,根节点进队,然后循环以下过程直至队列为空:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
vector<vector<int>> data;
vector<int> level_data;
queue<TreeNode *> node_queue;
int node_num = 1;
TreeNode* temp = NULL;
if (root) node_queue.push(root);
while (!node_queue.empty())
{
node_num = node_queue.size();
for (int i = 0; i < node_num; i++)
{
temp = node_queue.front();
node_queue.pop();
level_data.push_back(temp->val);
if (temp->left) node_queue.push(temp->left);
if (temp->right) node_queue.push(temp->right);
}
data.push_back(level_data);
level_data.clear();
}
return data;
}
};
获取更多精彩,请关注「seniusen」!
标签:load http 倒序 节点 shu code 插入 init strip
原文地址:https://www.cnblogs.com/seniusen/p/9973683.html