Leetcode59: Binary Tree Level Order Traversal
2015-09-16 14:21
204 查看
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
return its level order traversal as:
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7] ]
/** * 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<vector<int>> levelOrder(TreeNode* root) { queue<TreeNode*> q1; vector<vector<int>> result; vector<int> temp; if(!root) return result; q1.push(root); do { queue<TreeNode*> q2; temp.clear(); while(!q1.empty()) { TreeNode* Node = q1.front(); q1.pop(); temp.push_back(Node->val); if(Node->left) q2.push(Node->left); if(Node->right) q2.push(Node->right); } q1 = q2; result.push_back(temp); }while(!q1.empty()); return result; } };
相关文章推荐
- SSL/TLS/WTLS原理
- Linux系统中一些实用的快捷键
- JDK源码阅读之ListIterator接口
- 移动端和服务器端通信
- ie7下z-index失效问题解决方法(详细分析)
- spring MVC hibernate 多对一 传输JSON问题
- Log4j2 使用示例
- android 系统自带主题样式及自定义主题样式
- extjs设置动态proxy的方法哦
- SSL/TLS协议运行机制的概述
- 超实用的Linux/Unix快捷键大汇总
- 利用matlab获取算法源代码
- Java学习笔记02 Java语法基础
- Vertical Histogram-2136
- 第3周 项目2—数据结构之自建算法库——顺序表 (程序的多文件组织形式)
- **泛型类。**
- error: expected unqualified-id before numeric constant
- Oracle GoldenGate学习之windows下ogg单向复制配置
- android 屏幕适配
- Android 链接