LeetCode 298. 二叉树最长连续序列(自顶向下)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一棵指定的二叉树,请你计算它最长连续序列路径的长度。

该路径,可以是从某个初始结点到树中任意结点,通过「父 - 子」关系连接而产生的任意路径。

这个最长连续的路径,必须从父结点到子结点,反过来是不可以的。

示例 1:
输入:1\3/ \2   4\5输出: 3
解析: 当中,最长连续序列是 3-4-5,所以返回结果为 3示例 2:
输入:2\3/ 2    / 1输出: 2 
解析: 当中,最长连续序列是 2-3。注意,不是 3-2-1,所以返回 2

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-longest-consecutive-sequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {int maxlen = 1;
public:int longestConsecutive(TreeNode* root) {if(!root) return 0;dfs(root, 1);return maxlen;}void dfs(TreeNode* root, int len){if(!root) return;maxlen = max(maxlen, len);if(root->left){if(root->val+1 == root->left->val)dfs(root->left, len+1);//满足连续,长度+1elsedfs(root->left, 1);//不满足,从新开始}if(root->right){if(root->val+1 == root->right->val)dfs(root->right, len+1);elsedfs(root->right, 1);}}
};

68 ms 33.3 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 159. 至多包含两个不同字符的最长子串(滑动窗口)

文章目录1. 题目2. 解题1. 题目 给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t ,并返回该子串的长度。 示例 1: 输入: "eceba" 输出: 3 解释: t 是 "ece",长度为3。示例 2: 输入: "ccaabbb" 输…

linux nginx 图片服务器,搭建Nginx图片服务器(Linux)

wget http://nginx.org/download/nginx-1.19.1.tar.gzyum install gcc-cyum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel进入nginx目录./configure --prefix/usr/local/nginx --pid-path/var/run/nginx/nginx.pid --loc…

LeetCode 163. 缺失的区间

文章目录1. 题目2. 解题1. 题目 给定一个排序的整数数组 nums ,其中元素的范围在 闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间。 示例:输入: nums [0, 1, 3, 50, 75], lower 0 和 upper 99, 输出: ["2", "…

小白学数据分析-----聚类分析理论之TwoSteps理论篇+实践篇

昨天分享了以前学习的聚类分析算法K-Means的部分知识,其实这个主要是了解一下这个算法的原理和适用条件就行了,作为应用而不是作为深入研究,能够很好的将业务和算法模型紧密结合的又有几人呢?所以一些基本知识还是很必要的&#x…

LeetCode 244. 最短单词距离 II(哈希map+set二分查找)

文章目录1. 题目2. 解题2.1 暴力超时2.2 哈希表set二分查找1. 题目 请设计一个类,使该类的构造函数能够接收一个单词列表。 然后再实现一个方法,该方法能够分别接收两个单词 word1 和 word2,并返回列表中这两个单词之间的最短距离。 您的方法…

从根本上解决 Infopath 2010 重复表的序号问题

经过多长期的查找资料,今天终于找到如何解决Infopath 重复表序号的问题,其实也很简单只用Xpath 语法就可以了 count(../preceding-sibling::*[local-name() "ExpensiveDetail"])1 ExpensiveDetail 是重复表的名字 转载于:https://www.cnblog…

linux怎么将进程调优到8,Linux的性能调优命令

性能调优一直是运维工程师最重要的工作之一,如果您所在的生产环境中遇到了系统响应速度慢,硬盘IO吞吐量异常,数据处理速度低于预期值的情况,又或者如CPU、内存、硬盘、网络等系统资源长期处于耗尽的状态,那么这篇文章将…

LeetCode 161. 相隔为 1 的编辑距离(DP/遍历)

文章目录1. 题目2. 解题2.1 DP超时2.2 一次遍历1. 题目 给定两个字符串 s 和 t,判断他们的编辑距离是否为 1。 注意: 满足编辑距离等于 1 有三种可能的情形: 往 s 中插入一个字符得到 t从 s 中删除一个字符得到 t在 s 中替换一个字符得到 …

Google搜索图片时只显示第一页

用Google搜索图片时出现,只显示第一页,其他页不能显示。 Method 1:未成功。 Method 2:成功。 结果图: 转载于:https://www.cnblogs.com/yfl-IT/archive/2012/06/19/2555429.html

pxe自动部署Linux,Kickstart+PXE自动部署CentOS6.6

生产环境中对于部署大量的相同系统的服务器,如果逐台安装操作系统的话是非常浪费时间的工作,还好CentOS提供了无人值守安装系统的功能,下面就详细介绍一下配置步骤。一、配置本机的yum源因为需要安装一些软件来达到我们的目的,所以…

LeetCode 247. 中心对称数 II(DP)

文章目录1. 题目2. 解题1. 题目 中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看)。 找到所有长度为 n 的中心对称数。 示例 : 输入: n 2 输出: ["11","69","88","96"]来…

重新排列参数

重新排列参数 重新排列参数操作可以使你重新排列方法、索引器中的参数。你将方法的参数重新排列后,所有使用该方法的地方都会相应调整。以下面代码为例: class Person{public void Print(string name, int age, bool sex){}}class Program{static void M…

LeetCode 251. 展开二维向量

文章目录1. 题目2. 解题1. 题目 请设计并实现一个能够展开二维向量的迭代器。该迭代器需要支持 next 和 hasNext 两种操作。、 示例: Vector2D iterator new Vector2D([[1,2],[3],[4]]);iterator.next(); // 返回 1 iterator.next(); // 返回 2 iterator.next();…

LeetCode 253. 会议室 II(贪心+优先队列)

文章目录1. 题目2. 解题1. 题目 给定一个会议时间安排的数组&#xff0c;每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],…] (si < ei)&#xff0c; 为避免会议冲突&#xff0c;同时要考虑充分利用会议室资源&#xff0c;请你计算至少需要多少间会议室&#xff0…

笨鸟学Android开发(1):HelloWorld

全程视频&#xff08;IE等浏览器中若看不到以下GIF动画&#xff0c;请下载观看&#xff09; 源代码 转载于:https://www.cnblogs.com/beta2013/archive/2012/06/28/3377298.html

LeetCode 254. 因子的组合(回溯)*

文章目录1. 题目2. 解题1. 题目 整数可以被看作是其因子的乘积。 例如&#xff1a;8 2 x 2 x 2; 2 x 4.请实现一个函数&#xff0c;该函数接收一个整数 n 并返回该整数所有的因子组合。 注意&#xff1a; 你可以假定 n 为永远为正数。 因子必须大于 1 并且小于 n。示例 1&a…

使用架构(XSD)验证XML文件

假使说XML是一个数据库&#xff0c;那么XSD就是这个数据库的结构。由此可见&#xff0c;XSD是如此重要&#xff0c;如果没有它&#xff0c;我们如何声明以及验证我们需要的XML数据文件的格式和合法性呢&#xff1f;那是不可能完成的任务&#xff0c;如果你将XML数据文件当作普通…

LeetCode 255. 验证前序遍历序列二叉搜索树(单调栈)*

文章目录1. 题目2. 解题2.1 递归超时解2.2 单调栈1. 题目 给定一个整数数组&#xff0c;你需要验证它是否是一个二叉搜索树正确的先序遍历序列。 你可以假定该序列中的数都是不相同的。 参考以下这颗二叉搜索树&#xff1a;5/ \2 6/ \1 3 示例 1&#xff1a; 输入: [5,2…

LeetCode 259. 较小的三数之和(固定一点,内层双指针)

文章目录1. 题目2. 解题1. 题目 给定一个长度为 n 的整数数组和一个目标值 target&#xff0c;寻找能够使条件 nums[i] nums[j] nums[k] < target 成立的三元组 i, j, k 个数&#xff08;0 < i < j < k < n&#xff09;。 示例&#xff1a; 输入: nums [-2…

linux虚拟中断virq,一种微内核操作系统的分区多核方法与流程

本发明涉及一种计算机领域&#xff0c;特别涉及一种微内核操作系统的分区多核方法。背景技术&#xff1a;在宏内核操作系统(如Linux&#xff0c;Windows)中,网络、文件系统、设备驱动等大量系统服务都在操作系统内核中&#xff0c;微内核操作系统与宏内核操作系统相反&#xff…