102. Binary Tree Level Order Traversal(BFS)
来源:互联网 发布:软件大数据咨询顾问 编辑:程序博客网 时间:2024/06/16 05:55
1.Description
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]]
2. code
regular solution i always do
/** * 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) { if(root == NULL) return {}; vector<vector<int>> ret; vector<int> tmp; queue<TreeNode *> q; tmp.push_back(root->val); ret.push_back(tmp); q.push(root); TreeNode * node; while(!q.empty()) { //node = q.front(); tmp.clear(); for(int i = 0, n = q.size(); i < n; i++) { node = q.front(); q.pop(); if(node->left != NULL) { tmp.push_back(node->left->val); q.push(node->left); } if(node->right != NULL) { tmp.push_back(node->right->val); q.push(node->right); } } if(!tmp.empty()) ret.push_back(tmp); } return ret; }};
code from others
which i think is better
/** * 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 { vector<vector <int>> res;public: vector<vector<int>> levelOrder(TreeNode* root) { build(root, 0); return res; } void build(TreeNode *root, int depth) { if(root == NULL) return; if(res.size() == depth) res.push_back(vector<int>()); res[depth].push_back(root->val); build(root->left, depth+1); build(root->right, depth+1); }};
阅读全文
0 0
- [BFS]102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal(BFS)
- BFS Binary Tree Level Order Traversal
- BFS Binary Tree Level Order Traversal II
- 102 - Binary Tree Level Order Traversal(BFS)
- BFS Binary Tree Level Order Traversal
- LeetCode 102. Binary Tree Level Order Traversal(bfs)
- LeetCode :: Binary Tree Zigzag Level Order Traversal [tree, BFS]
- 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
- 102.Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- 102.Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- 链栈--简单操作
- 第7周项目4-队列数组
- [NA]Lab2:求多项式函数的零点
- 注解
- 五分钟快速入门Docker
- 102. Binary Tree Level Order Traversal(BFS)
- 做了一个梦
- sdut 3335 数据结构实验之栈与队列八:栈的基本操作
- Java语言中try-catch-finally的执行顺序
- Mybatis if test无效的原因(字符串比较)
- POI操作Excel常用方法总结
- 将本地jar添加到Maven仓库
- SSD模型分析
- MySQL--插入记录--insert