【LeetCode

阅读: 评论:0

【LeetCode

【LeetCode

文章目录

  • 1、题目描述
  • 2、解题思路
  • 3、解题代码

1、题目描述

2、解题思路

  给每一个节点搭配两个属性:inc 和 dcr 。

  其中,inc 表示截至到当前节点的最长连续递增序列的长度,dcr 表示截至到当前节点的最长连续递减序列的长度。

  那么,包含当前节点的连续序列路径的长度就是 inc + dec - 1。

  接着找到 inc + dec - 1 值最大的节点,返回这个值即可。

3、解题代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {int maxval = 0;public int longestConsecutive(TreeNode root) {longestPath(root);return maxval;}public int[] longestPath(TreeNode root) {if (root == null) {return new int[]{0, 0};}int inr = 1, dcr = 1;if (root.left != null) {int[] l = longestPath(root.left);if (root.val == root.left.val + 1) {dcr = l[1] + 1;} else if (root.val == root.left.val - 1) {inr = l[0] + 1;}}if (root.right != null) {int[] r = longestPath(root.right);if (root.val == root.right.val + 1) {dcr = Math.max(dcr, r[1] + 1);} else if (root.val == root.right.val - 1) {inr = Math.max(inr, r[0] + 1);}}maxval = Math.max(maxval, dcr + inr - 1);return new int[]{inr, dcr};}
}

本文发布于:2024-01-29 15:03:34,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170651182016119.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:leetcode 549
标签:LeetCode
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23