(C++)剑指offer-22:从上往下打印二叉树(举例让抽象具体化)
2018-02-13 19:01
549 查看
剑指offer-22:从上往下打印二叉树
目录
剑指offer-22从上往下打印二叉树目录
1题目描述
2题目解析
3题目答案
1题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。2题目解析
打印结果:8,6,10,5,7,9,11。
3题目答案
/* 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> vec; if(root==NULL) return vec; queue<TreeNode*> TreeNodeQueue; TreeNodeQueue.push(root); while(!TreeNodeQueue.empty()){ TreeNode* TempNode = TreeNodeQueue.front(); TreeNodeQueue.pop(); vec.push_back(TempNode->val); if(TempNode->left) TreeNodeQueue.push(TempNode->left); if(TempNode->right) TreeNodeQueue.push(TempNode->right); } return vec; } };
简化:
vector<int> PrintFromTopToBottom(TreeNode* root) { vector<int> vec; if(root==NULL) return vec; queue<TreeNode*> q; q.push(root); while(!q.empty()){ TreeNode* t = q.front(); q.pop(); vec.push_back(t->val); if(t->left) q.push(t->left); if(t->right) q.push(t->right); } return vec; }
参考博客:http://blog.csdn.net/xinyu913/article/details/46633957
创建二叉树如上;
相关文章推荐
- 【剑指offer】4.3举例让抽象问题具体化——面试题23:从上往下打印二叉树
- 剑指offer题解C++【22】从上往下打印二叉树
- (C++)剑指offer-24:二叉树中和为某一值的路径(举例让抽象具体化)
- 剑指offer 23题 【举例让抽象具体化】从上往下打印二叉树
- 剑指offer-22.从上往下打印二叉树
- 《剑指offer》刷题笔记(举例让抽象具体化):从上往下打印二叉树
- 剑指offer(22)—从上往下打印二叉树
- 举例让抽象问题具体化:从上往下打印二叉树
- (C++)剑指offer-23:二叉搜索树的后序遍历序列(举例让抽象具体化)
- 【剑指offer】4.3举例让抽象问题具体化——面试题22:栈的压入、弹出序列
- 牛客网-剑指offer-22-从上往下打印二叉树
- 【剑指offer】4.3举例让抽象问题具体化——面试题25:二叉树中和为某一值的路径
- (C++)剑指offer-20:包含min函数的栈(举例让抽象具体化)
- 【剑指offer】22从上往下打印二叉树
- 剑指OFFER之从上往下打印二叉树(九度OJ1523)
- 【剑指Offer面试编程题】题目1523:从上往下打印二叉树--九度OJ
- 剑指offer:从上往下打印二叉树
- 剑指offer面试题[23]-从上往下打印二叉树(按层序打印)
- 剑指offer--面试题23:从上往下打印二叉树--Java实现
- 【剑指Offer学习】【面试题23:从上往下打印二叉树】