【LeetCode515 Find Largest Value in Each Tree Row】二叉树每行的最大值

用python提取PDF中各类文本内容的方法 阅读详情

一、问题描述

给定一个二叉树,二叉树每一行都有一个最大值,将该值保存到一个数组中,最后输出该数组。举例如下:给定二叉树,输出数组[1,3,9]

Input: 

          1
         / \
        3   2
       / \   \  
      5   3   9 

Output: [1, 3, 9]
二、思路详解

这一题是遍历树,给树的每一个节点赋予层数的信息,定义一个数组maxNum数组,存储每层中最大值,其下标i对应于树中的第i层,其中根节点为第0层。在遍历某个树节点时,先判断该节点的层数与当前数组中已存储的数是否相等,若相等,则将该节点值与当前数组最后一位值进行比较,数组取其中的最大值。若不相等,则该节点为该层第一个节点,直接将该节点值赋值给数组对应的位。深度遍历该二叉树,最后输出这个数组即可。

三、代码实现

/**
 * 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<int> largestValues(TreeNode* root) {
        if(root == NULL) {
            return maxNum;
        }
        travel(root,level);
        return maxNum;
    }
     TreeNode* travel(TreeNode* root, int level) {
        if(!root) return NULL;
        if(maxNum.size() < level + 1) {
            maxNum.push_back(root->val);
        } else {
            maxNum[level] = max(root->val,maxNum[level]);
        }
        travel(root->left,level+1);
        travel(root->right,level+1);
        return root;
    }
private:
   int level = 0;
   vector<int> maxNum;
};

别再翻手册了!用Materials Studio的Forcite模块,5步搞定复杂溶剂的溶解度参数计算 本文详细介绍了如何使用Materials Studio的Forcite模块,通过5个步骤快速计算复杂溶剂的溶解度参数。从分子建模、结构优化到分子动力学采样,再到最终的内聚能密度计算,该方法大幅提升了石油化工和高分子材料研发中的效率,避免了传统手册查阅和实验的繁琐过程。 阅读详情

相关推荐

WRF替换静态地理数据中的土地利用数据(WRF替换下垫面数据)

   在进行自己的WRF项目模拟的时候,因为需要用中国土地利用数据替换WRF内嵌老旧的土地利用数据,故需要将土地利用进行替换。我使用的中国的土地利用数据是来自中国土地利用数据(1980-2015)。其中我以下载的lucc1980为例进行演示。 1、坐标转换    (1)下载的lucc1980数据如下图所示:    (2)在ArcMap中打开如下图所示: 打开属性表可以看到,lucc1980的坐标系为投影坐标系Krasovsky_1940_Albers,数据格式为GRID。这里需要将投影坐标系转换成地理坐

GIS 1万+

算法练习:最大二叉树【Python】

654. 最大二叉树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二叉树,并且输出这个树的根节点。 示例 : 输入:[3,2,1,6,0,5] 输出:返回下面这棵树的根节点: 6 / ...

布谷鸟 1074

EtherCAT主站开发(学习笔记一)

摘要:本文介绍了基于STM32H7的EtherCAT主站开发探索。EtherCAT是一种高实时性工业以太网协议,具有低延迟、高带宽利用率等特点。文章详细解析了EtherCAT的协议架构、帧结构和工作原理,重点阐述了PDO数据传输过程及主从站通信机制。同时介绍了CoE、FoE等应用层协议扩展。作者将基于SOEM开源协议栈进行开发,为后续实际应用中的伺服电机控制奠定基础。

weixin_69388007的博客 1474

C++Leetcod515:在每个树行中找最大值

题目 您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 思路 1、BFS。连续这几道题,思路都是一样的,只是根据要求输出的结果不同,做一些相应的改动,主干部分都类似。 实现方法 一、BFS /** * Definition for a binary tre...

weixin_43434305的博客 360

Mac---安装Navicat

把这个填充好的字符串放入刚才打开的RSA在线加解密的网站中的第二个框框(替换之前的请求码),第一个框框不动(还是之前第10步骤中的私钥),点击RSA私钥加密,这时会得到一个加密的字符串,这个就是激活码。{“K”:“你的K值”, “N”:“52pojie”, “O”:“52pojie.cn”, “DI”:“你的DI值”, “T”:你的时间戳}链接: https://pan.baidu.com/s/1mEVY4hnKdktg-p7DBIfD7A 提取码: twwg。Navicat会弹出一个对话框,点击“注册”

weixin_53970868的博客 1万+

脉冲变压器电感选型参数,结构原理,工艺与注意问题总结

脉冲变压器电感简称脉冲变压器,是一种特殊类型的变压器,主要用于处理脉冲信号。它的主要特性是能够在短时间内承受高电压和大电流。脉冲变压器主要用于开关电源、脉冲功率放大、雷达脉冲调制等领域。本文对脉冲变压器的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 1342

二叉树找到每层的最大元素

在二叉树的每一行中找到最大的值。 https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/ 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 每层中的最大元素, 自然想到了使用层次遍历, 但是层次遍历是不清楚层的开始和结束的, 所以还需要对层次遍历进行一下改造. 先说下标准的层次遍历...

gcs的博客 1856

Calibre:LVS 快速debug short/open技巧

用Fix Suggestion和Short Isolate两种方法debug LVS问题

m0_61544122的博客 7459

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

Leetcode 515. 在每个树行中找最大值 题目 您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 题解 中序遍历,记录每层的最大值。详细过程见代码 代码 vector<int> ans; void search(TreeNode* root,int level){ if(roo

weixin_43750513的博客 360

【GB28181】wvp-GB28181-pro++ZLMediaKit编译安装国标流媒体服务器教程(Windows平台)

本文基于ZMLMediaKit+WVP-PRO在windows平台进行编译部署GB28181平台,网上教程也比较多,都大同小异,实际操作过程中容易出错的地方也比较多:redis安装无密码,mysql安装后密码的修改以及wvp数据可的创建,配置文件侧修改,尤其是和端口相关的项,再就是运行服务时各种错误需要注意,常见的错误已经做了汇总,遇到问题大家不要怕,找到报错的地方查看定位即可。

废人一枚的博客 4477

数据集FFHQ和LSUN介绍【包含FFHQ1024,515,256,128分辨率图像获取方法】

FFHQ全称Flickr-Faces-High-Quality(Flickr-Faces-HQ),最初是作为生成式对抗网络(GAN)的基准创建的,也用于StyleGAN的训练数据集中,并由英伟达于2019年开源。CVPR_2019Flickr-Faces-HQ (FFHQ)其由 70,000 张分辨率为 1024×1024 的高质量 PNG 图像组成,在年龄、种族和图像背景方面包含相当大的差异。它对眼镜、太阳镜、帽子等配饰也有很好的覆盖。

zik的博客 3979

【二叉树】515. 在每个树行中找最大值

在每个树行中找最大值 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeN

zyj的博客 399

『MaxKB 2.x 开发环境搭建』在Windows下运行最新源码的完整步骤

本文将详细介绍如何在Windows系统中完成MaxKB最新版(2.x)开发环境的搭建,包括前端、后端以及数据库的配置,确保开发者能够顺利启动项目。

老陈聊架构 586

LeetCode-515. Find Largest Value in Each Tree Row (JAVA)(二叉树每行的最大值)

LeetCode-515. Find Largest Value in Each Tree Row (JAVA)(二叉树每行的最大值)

mine_song的博客 1589

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

leetcode 515. 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] 给出一棵二叉树,让找出每层的最大值 思路: 按层遍历BFS 需要记住每层有多少个节点,方便记录...

蓝羽飞鸟的博客 202

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode OJ 515. Find Largest Value in Each Tree Row

LeetCode OJ 515. Find Largest Value in Each Tree RowDescriptionYou need to find the largest value in each row of a binary tree.Example Input: 1 / \ 3 2 / \ \ 5 3 9 O

jan_deng的博客 431

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

[leetcode]515. Find Largest Value in Each Tree Row(Python)

[leetcode]515. Find Largest Value in Each Tree Row题目描述题目理解解题思路DFSMyMethodTime 题目描述 Category:Medium Tree You need to find the largest value in each row of a binary tree. 题目理解 给定一棵二叉树,找出每一行最大值。 解题思路 ...

La_Ragazza的博客 299

515. Find Largest Value in Each Tree Row**

515. Find Largest Value in Each Tree Row** https://leetcode.com/problems/find-largest-value-in-each-tree-row/ 题目描述 You need to find the largest value in each row of a binary tree. Example: Input: ...

珍妮的选择的博客 304

leetcode 515. Find Largest Value in Each Tree Row

Hi,又见面了~第二天,难度和之前差不多。 515. Find Largest Value in Each Tree Row 一.犯的错误 (1)逻辑上的问题都是在调试中发现的,比如这题在没加最后一句push_back的时候,发现输出只有2层的输出,最后一层没输出。然后才发现是最后一个if没走到,所以加了一个push_back 二。 初始max的赋值我naive的认为初始化-1

qq_36079872的博客 257

leetcode 515. Find Largest Value in Each Tree Row 二叉树每一层最大值+广度优先遍历BFS

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] 本题题意很简单,就是做一个BFS广度优先遍历, 代码如下: #includ...

JackZhangNJU的专栏 270

LeetCode知识点总结 - 515

【代码】LeetCode知识点总结 - 515。

m0_59773145的博客 34

LeetCode //C - 515. Find Largest Value in Each Tree Row

【代码】LeetCode //C - 515. Find Largest Value in Each Tree Row。

Made in Code 2253

噢 bfs leetcode 515. Find Largest Value in Each Tree Row

leetcode 515. Find Largest Value in Each Tree Row import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.

独钓寒江雪 404

LeetCode 515. Find Largest Value in Each Tree Row

优快云处女作,从此就要走上博主的道路了,希望能够持之以恒吧 :)题目:LeetCode 515You need to find the largest value in each row of a binary tree.Example:Input: 1 / \ 3 2 / \ \ 5 3 9...

qq_29659479的博客 226

【LeetCode】515. Find Largest Value in Each Tree Row【E】【87】

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] Subsc

sscssz的博客 1367

【Leetcode】515. Find Largest Value in Each Tree Row

题目地址: https://leetcode.com/problems/find-largest-value-in-each-tree-row/ 给定一棵二叉树,返回其每一行的最大数。直接用BFS即可。代码如下: import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.u...

数学、算法爱好者的博客 164
上一篇: [LeetCode198 House Robber]数组中的动态规划求最值问题
下一篇: [538 Convert BST to Greater Tree]搜索二叉树的数值计算
codekiller_
博客等级 码龄12年 11粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值