第七 周广度优先搜索
来源:互联网 发布:centos7配置防火墙端口 编辑:程序博客网 时间:2024/05/17 00:59
算法题目 : Find Largest Value in Each Tree Row
算法题目描述:
You need to find the largest value in each row of a binary tree.
Example:
Input: 1 / \ 3 2 / \ \ 5 3 9 Output: [1, 3, 9].
算法分析:
这道题让我们找二叉树每行的最大的结点值,那么实际上最直接的方法就是用层序遍历。用队列queue实现广度优先搜索,将i层的数存到队列中,并且在i+1层数字入队的过程中进行i层的比较,最终当所有都存完之后也就得到了以个最大的数。然后存入vector中并输出就好了。
算法代码(C++):
class Solution {public: vector<int> largestValues(TreeNode* root) { if (!root) return {}; vector<int> res; queue<TreeNode*> q; q.push(root); while (!q.empty()) { int n = q.size(), mx = INT_MIN; for (int i = 0; i < n; ++i) { TreeNode *t = q.front(); q.pop(); mx = max(mx, t->val); if (t->left) q.push(t->left); if (t->right) q.push(t->right); } res.push_back(mx); } return res; }};
0 0
- 第七 周广度优先搜索
- 广度优先搜索算法
- 双向广度优先搜索
- 广度优先搜索法
- pku2251(广度优先搜索)
- POJ1184Clerver_Writer:广度优先搜索
- Java广度优先搜索
- [AI]广度优先搜索
- 广度优先搜索-BFS
- 广度优先搜索算法
- 广度优先搜索算法
- BFS广度优先搜索
- 广度优先搜索 BFS
- 广度优先搜索
- [ 算法 ]广度优先搜索!
- 广度优先搜索
- 广度优先搜索算法
- 广度优先搜索算法
- UE4入门学习-开篇
- bzoj 1050 并查集
- 合法括号序列判断
- Sum of Left Leaves
- Dubbo服务发布的几点心得
- 第七 周广度优先搜索
- 浅谈百度的FIS3框架
- 比如“古今数学思想”,BBC的“数学的故事”视频,一起看效果会更好
- java中网络编程用什么模式?
- 《深入理解JAVA虚拟机》学习笔记(二)JAVA垃圾收集之对象存活判定算法
- 字符串判断
- 【Bzoj4653】区间
- team training 5 A题 spfa
- HDU1004 Let the Balloon Rise