层次遍历二插树
来源:互联网 发布:java物流项目简历 编辑:程序博客网 时间:2024/06/05 14:39
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector<int> PrintFromTopToBottom(TreeNode* root) { vector<int> a; queue<TreeNode*> que; que.push(root); while(!que.empty()){ root =que.front(); que.pop(); if(!root) continue; a.push_back(root->val); que.push(root->left); que.push(root->right); } return a; }};
分析:首先将二叉树的head赋值给队列que。在循环中,只要队列que不为空就一直循环。在循环中做如下的事情。
将二叉树的que的第一个元素赋值给二叉树的头节点head,然后在队列中将次元素删除。如果返回的不为空,就继续下面的逻辑,否则直接终止循环。下面的逻辑也很简单,首先将元素的值存储到我们要返回的对象中,然后分别将左子树和右子数进队。
1 0
- 层次遍历二插树
- 层次遍历
- 层次遍历
- 层次遍历
- 层次遍历
- 层次遍历
- 前序遍历层次遍历
- 多叉树的层次遍历
- 层次遍历2叉树
- 层次遍历树
- 层次遍历2叉树
- 层次遍历二叉树
- 树的层次遍历
- 层次遍历二叉树
- 二叉树层次遍历
- 二叉树 层次遍历
- 层次遍历树
- 二叉树层次遍历
- M--二分查找
- ZOJ 2972 Hurdles of 110m
- 浅析套接字中SO_REUSEPORT和SO_REUSEADDR的区别
- POJ 2105 IP Address G++
- ”Mac下bash_profile添加错误环境变量导致path涉及的命令全不能使用“的解决方案
- 层次遍历二插树
- 获取APP的版本号
- C语言的编码规范
- 最短路径问题
- Linux下线程互斥与同步
- JavaScript中JSON的解析与序列化
- SQL多表操作 内连接、外连接、交叉连接,(操作层面)学习笔记
- 商店选址问题
- 用css写个三角形