博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 102 ——二叉树的层次遍历
阅读量:5909 次
发布时间:2019-06-19

本文共 1096 字,大约阅读时间需要 3 分钟。

1. 题目

2. 解答

定义一个存放树中数据的向量 data,一个存放树的每一层数据的向量 level_data 和一个存放每一层节点的队列 node_queue。

如果根节点非空,根节点进队,然后循环以下过程直至队列为空:

    1. 得到队列的大小,即为树中当前层的节点个数。队列元素循环出队,并将节点的值加入 level_data,如果节点有左右子节点,左右子节点入队
    1. 将 level_data 加入 data 中并清空 level_data
/** * 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
> levelOrder(TreeNode* root) { vector
> data; vector
level_data; queue
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」!

转载地址:http://uhvpx.baihongyu.com/

你可能感兴趣的文章
NFS搭建
查看>>
Universal-USB-Installer、UItralSO、LinuxLive USB Creator U盘安装linux实战
查看>>
使用Unirest发送Json的格式数据
查看>>
亚洲诚信&华为云 | 双11钜惠提前来袭,错过等一年!
查看>>
目前所学的关键字整理
查看>>
当DUBBO遇上Arthas - 排查问题的实践
查看>>
我的友情链接
查看>>
第一章——简介
查看>>
Spring Boot实践--PUT请求不能接收到参数的问题
查看>>
网页色彩搭配教程:三个实用方法搞定网页配色设计
查看>>
mysql备份
查看>>
Eclipse常用配置
查看>>
VMware/vSphere克隆主机网卡启动失败
查看>>
我的友情链接
查看>>
linux修改IP和DNS
查看>>
我的友情链接
查看>>
通过案例学调优之--跨库建立物化视图(Materialized View)
查看>>
WordPress新增Page的模版文件
查看>>
JAVAWEB应用的policy安全配置值得深思
查看>>
vim快速命令
查看>>