LeetCode 298. 二叉树最长连续序列(自顶向下)
生活随笔
收集整理的這篇文章主要介紹了
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阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 298. 二叉树最长连续序列(自顶向下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 311. 稀疏矩阵的乘
- 下一篇: LeetCode 966. 元音拼写检查