题目描述:
给你一棵指定的二叉树,请你计算它最长连续序列路径的长度。
该路径,可以是从某个初始结点到树中任意结点,通过「父 - 子」关系连接而产生的任意路径。
这个最长连续的路径,必须从父结点到子结点,反过来是不可以的。
示例 1:
输入:
输出: 3
解析: 当中,最长连续序列是 3-4-5,所以返回结果为 3
示例 2:
输入:
输出: 2
解析: 当中,最长连续序列是 2-3。注意,不是 3-2-1,所以返回 2。
方法1:
主要思路:
(1)找出左右结点中可能的更长的路径,进行保存;
/**
* 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:
void helper(TreeNode* root,int count,int& max_count)