博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 二叉树的层次遍历 队列的应用
阅读量:3903 次
发布时间:2019-05-23

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

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。

例如:

给定二叉树: [3,9,20,null,null,15,7],

3   / \  9  20    /  \   15   7

返回其层次遍历结果:

[  [3],  [9,20],  [15,7]]

通过队列进行操作,将每一层的节点的左右子节点入队,然后删除此节点,直到队列为空为止。。

c++:

/** * 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
> ve; if(root==NULL) return ve; TreeNode * t; queue
q; q.push(root); while (!q.empty()) { int size=q.size(); vector
tvec; while (size--) { t=q.front(); q.pop(); tvec.push_back(t->val); if(t->left) q.push(t->left); if(t->right) q.push(t->right); } ve.push_back(tvec); } return ve; } };

 

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

你可能感兴趣的文章
71. 简化路径
查看>>
77. 组合
查看>>
78. 子集
查看>>
89. 格雷编码
查看>>
刚开始学python,对脚本语言的一些理解
查看>>
matplotlib进行绘图——散点图
查看>>
matplotlib进行绘图——直方图
查看>>
需求文件requirements.txt的创建及使用
查看>>
300. 最长上升子序列
查看>>
445. 两数相加 II
查看>>
449. 序列化和反序列化二叉搜索树
查看>>
450. 删除二叉搜索树中的节点
查看>>
451. 根据字符出现频率排序
查看>>
454. 四数相加 II
查看>>
467. 环绕字符串中唯一的子字符串
查看>>
468. 验证IP地址
查看>>
474. 一和零
查看>>
486. 预测赢家
查看>>
494. 目标和
查看>>
520. 检测大写字母
查看>>