Binary Tree Level Order Traversal
2015-06-13 16:12
232 查看
问题描述
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example:
Given binary tree {3,9,20,#,#,15,7},
return its level order traversal as:
代码
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; vector<vector<int>> levelOrder(TreeNode* root) { deque<TreeNode*>a; deque<TreeNode*>b; if (root) a.push_back(root); TreeNode*p = NULL; vector<vector<int>> result; while (!a.empty()) { vector<int>temp; if (!a.empty() ) { while (!a.empty() ) { p = a.front(); a.pop_front(); temp.push_back(p->val); if (p->left) b.push_back(p->left); if (p->right) b.push_back(p->right); } result.push_back(temp); } while (!b.empty()) { a.push_back(b.front()); b.pop_front(); } } return result; }
相关文章推荐
- ASP.NET中Application全局对象用法实例浅析
- Redis介绍
- Codeforces Round #305 (Div. 2).D
- Java 中的方法内部类
- JQuery上传插件Uploadify使用详解
- 今天看刘汝佳的书,用面向对象的重载用算符打大数,自己也打了篇
- 使用JDBC处理MySQL大文本和大数据
- zoj 1067
- mysql与nosql优缺点
- Reapter控件使用汇总
- ARP的解析过程
- 微信支付.net官方坑太多,我们来精简
- iOS简单的手写汉字识别
- 解决java compiler level does not match the version of the installed java project facet
- python模拟登录URP教务系统评教
- 错误日志解决办法:statement aborts at 6: [INSERT INTO MenuTbl(_id) VALUES (?)] datatype mismatch
- python模拟登录URP教务系统评教
- 模式匹配算法KMP
- 本地调试远程api tag
- java集合概述