leetcode:515. 在每个树行中找最大值

news/2024/11/17 22:17:15/

题目来源

515. 在每个树行中找最大值

题目描述

在这里插入图片描述

题目解析

层次遍历

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {
public List<Integer> largestValues(TreeNode root) {List<Integer> list = new LinkedList<>();if (root == null){return list;}Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()){int size = queue.size();int max = Integer.MIN_VALUE;for (int i = 0; i < size; i++){TreeNode pop = queue.poll();if (pop.val > max){max = pop.val;}if (pop.left != null){queue.offer(pop.left);}if (pop.right != null){queue.offer(pop.right);}}list.add(max);}return list;}
}
vector<int> largestValues(TreeNode* root) {vector<int> vec;if(root == NULL){return vec;}std::queue<TreeNode* > queue;queue.push(root);while (!queue.empty()){int size = queue.size();int max = INT_MIN;for (int i = 0; i < size; ++i) {TreeNode *node = queue.front();queue.pop();if(node->val > max){max = node->val;}if(node->left){queue.push(node->left);}if(node->right){queue.push(node->right);}}vec.push_back(max);}return vec;
}

深度遍历

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {
public List<Integer> largestValues(TreeNode root) {List<Integer> list = new LinkedList<>();helper(root, 0, list);return list;}private void helper(TreeNode root, int level, List<Integer> list){if (root == null){return;}if (list.size() == level){list.add(level, root.val);}int max = Math.max(root.val, list.get(level));list.set(level, max);helper(root.left, level + 1, list);helper(root.right, level + 1, list);}
}

在这里插入图片描述


http://www.ppmy.cn/news/416449.html

相关文章

5.3图的综合应用算法(最小生成树、最短路径生成)

一.最小生成树算法 1.概念&#xff08;Minimum-Spanning-Tree&#xff09;MST 生成树&#xff1a;针对于连通图&#xff0c;包含全部顶点&#xff0c;去掉一条边后不连通&#xff0c;加一条边形成环 最小生成树:带权连通无向图&#xff0c;边的权值之和最小的生成树(MST) 2.…

破解软件,破解软件下载

今天给大家带来一款破解软件。很多朋友问我要破解软件&#xff0c;说百度上找不到。今天找了半天&#xff0c;放出破解软件下载地址&#xff1a; http://pan.baidu.com/share/link?shareid2056602630&uk4231428855 PS&#xff1a;金山卡巴神马的都不报毒&#xff0c;360杀…

IOS破解软件,比较全的网站。

转载于:https://blog.51cto.com/14259888/2369621

各种免费破解软件

http://www.gclz.cn/go.php/category/6/1/4/ 孤城浪子博客

网卡命名规则和网卡变动结论

net.ifnames0 biosdevname0 插卡前状态&#xff1a; 插卡后状态&#xff1a; 结论&#xff1a;明显eth0 MAC地址从00:0d:48:94:10:fc 变更为 c0:33:da:10:31:ff。该方法eth0实际对应的网口发生了变动。 net.ifname1 插卡前状态&#xff1a; 插卡后状态&#xff1a; 查看…

正版破解软件下载站大全

作者&#xff1a;佚名 文章来源&#xff1a;本站原创 点击数&#xff1a;<script language"javascript" src"/Article/GetHits.asp?ArticleID413" type"text/javascript"> </script> 9955 更新时间&#xff1a;2005-9-23 …

LibXL 4.1.1 最新版 Crack

LibXL 4.1.1 最新版 面向开发人员的 Excel 库&#xff0c;直接读取和写入 Excel 文件 LibXL是一个可以读写Excel文件的库。它不需要Microsoft Excel和.NET框架&#xff0c;结合了易于使用和强大的功能。 库可用于: 从头开始生成新的电子表格 从现有电子表格中提取数据 修改现有…

[转...转] 国内软件破解下载网站列表!

[转] 国内软件破解下载网站列表! 国内最有信誉的破解下载网站,总能让你有意外收获。 coos注:还没时间去一个个试 18DD资源中心:http://www.18dd.com 7年:http://www.7year.com/ 热战软件园:http://soft.rezhan.com wqsky:http://www.wqsky.com (所有软件均有破解) 非…