[Leetcode] #102 Binary Tree Level Order Traversal
来源:互联网 发布:什么软件找工作好 编辑:程序博客网 时间:2024/06/06 04:10
Discription:
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,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7]]
Solution:
#include<iostream>#include<queue>#include<algorithm>using namespace std;struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}};vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> result;queue<TreeNode*> que;if (!root) return result;que.push(root);while (!que.empty()){int size = que.size();vector<int> row;while (size-- > 0){TreeNode *temp = que.front();que.pop();row.push_back(temp->val);if (temp->left)que.push(temp->left);if (temp->right)que.push(temp->right);}result.push_back(row);}return result;}TreeNode* creatBTree(int data[], int index, int n){TreeNode *pNode = NULL;if (index < n && data[index]!=-1) //-1令树结点为NULL{pNode = new TreeNode(data[index]);pNode->left = creatBTree(data, 2 * index + 1, n); //将二叉树按照层序遍历, 依次标序号, 从0开始pNode->right = creatBTree(data, 2 * index + 2, n);}return pNode;}int main(){int a[] = { 2, 3, 3, 4, 5, 5, -1, 8 }; int size = sizeof(a) / sizeof(int);TreeNode* root = creatBTree(a, 0, size);vector<vector<int>> ans = levelOrder(root);for (int i = 0; i < ans.size(); i++){for (int j = 0; j < ans[i].size(); j++){cout << ans[i][j] << ' ';}cout << endl;}cin.get();return 0;}
0 0
- Leetcode 102 Binary Tree Level Order Traversal
- LeetCode(102)Binary Tree Level Order Traversal
- LeetCode 102 Binary Tree Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal [102]
- [leetcode 102]Binary Tree Level Order Traversal
- [LeetCode 102]Binary Tree Level Order Traversal
- leetCode #102 Binary Tree Level Order Traversal
- leetcode-102 Binary Tree Level Order Traversal
- leetcode || 102、Binary Tree Level Order Traversal
- leetcode #102Binary Tree Level Order Traversal
- Leetcode[102]-Binary Tree Level Order Traversal
- LeetCode 102 Binary Tree Level Order Traversal
- LeetCode---(102)Binary Tree Level Order Traversal
- leetcode 102 Binary Tree Level Order Traversal
- leetcode[102]:Binary Tree Level Order Traversal
- Leetcode # 102 Binary Tree Level Order Traversal
- leetcode 102: Binary Tree Level Order Traversal
- leetcode-102-Binary Tree Level Order Traversal
- 洛谷 P1133 教主的花园(多维DP)
- cocos2dx实现全局游戏公告
- 如何使用 powerquery 和 powerpivot 在 Excel 中实现数据可视化
- IntelliJ IDEA 注册码
- 用Scroller实现简单viewpager滑动
- [Leetcode] #102 Binary Tree Level Order Traversal
- 高性能JS-DOM
- Linux中定时器的讲解
- ActiveMQ安装与使用
- 华为机试在线训练-牛客网(19)【中级】单词倒排
- 查看Spring源码(一)
- 如何使用 Oracle12c/Pentaho/Microstrategy 建立数据仓库并实现商务智能
- HDU - 1016 Prime Ring Problem DFS
- 解决SQL Server导入数据, 错误 0xc02020f4x