剑23-从上到下打印二叉树结点
来源:互联网 发布:发散和收敛定义知乎 编辑:程序博客网 时间:2024/06/02 06:20
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:
1、引入一个数据容器即队列deque
STL实现了一个很好的deque(两端都可以进出的队列)
2、每次打印一个结点的时候,如果该节点有子节点,则把该子节点放到一个队列的末尾。
/*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>res; //特殊情况判断 if(root==NULL) return res; deque<TreeNode*>dequeTreeNode;//队列deque dequeTreeNode.push_back(root);//将根节点入队列 while(dequeTreeNode.size()>0) { //定义指针pNode指向队列首元素,取出,弹出 TreeNode*pNode=dequeTreeNode.front(); dequeTreeNode.pop_front(); res.push_back(pNode->val); //放入容器中打印出来 if(pNode->left) dequeTreeNode.push_back(pNode->left); if(pNode->right) dequeTreeNode.push_back(pNode->right); } return res; }};
阅读全文
0 0
- 剑23-从上到下打印二叉树结点
- 从上到下打印二叉树
- 从上到下打印二叉树
- 从上到下打印二叉树
- 从上到下打印二叉树
- 从上到下打印二叉树
- 从上到下打印二叉树
- 从上到下打印二叉树
- 从上到下打印二叉树
- 题目23:从上到下打印二叉树
- 面试题 23: 从上到下打印二叉树
- 面试题23:从上到下打印二叉树
- 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
- 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
- 《剑指Offer》面试题23:从上到下打印二叉树
- 剑指offer面试题23:从上到下打印二叉树
- 剑指Offer系列-面试题23:从上到下打印二叉树
- 剑指offer 面试题23 从上到下打印二叉树
- MySQL select实现原理
- 10/29 windy数
- bootstrap之alert
- strings命令 :(不要忘记有s !!!)
- hibernate 总结
- 剑23-从上到下打印二叉树结点
- Leetcode | Expression Add Operators
- Flex布局
- mysql5.7.17压缩版安装步骤
- 欢迎使用CSDN-markdown编辑器
- Hadoop下用MapReduce处理WordCount
- python序列大作战之可变序列
- 工作笔记本的挑选方法与使用方法(笔记)
- Python4--if-else、while循环