Leetcode: Binary Tree Longest Consecutive Sequence

原创 2015年11月20日 18:21:40

Question

Given a binary tree, find the length of the longest consecutive sequence path.

The path refers to any sequence of nodes from some starting node to any node in the tree along the parent-child connections. The longest consecutive path need to be from parent to child (cannot be the reverse).

For example,
1
\
3
/ \
2 4
\
5
Longest consecutive sequence path is 3-4-5, so return 3.
2
\
3
/
2
/
1
Longest consecutive sequence path is 2-3,not3-2-1, so return 2.
Show Company Tags
Hide Tags Tree
Hide Similar Problems (H) Longest Consecutive Sequence


My solution

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def longestConsecutive(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """

        self.length = 0
        self.helper(root)
        return self.length

    def helper(self, root):
        if root==None:
            return -1

        l = self.helper(root.left)
        r = self.helper(root.right)

        left  = True if root.left!=None and root.val == root.left.val -1 else False
        right = True if root.right!=None and root.val == root.right.val -1 else False

        if left and right:
            self.length = max( [self.length, 1+l, 1+r] )
            return max([1+l, 1+r])
        if left and not right:
            self.length = max( [self.length, 1+l] )
            return 1+l
        if not left and right:
            self.length = max( [self.length, 1+r] )
            return 1+r
        else:
            self.length = max( [self.length, 1] )
            return 1


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

LeetCode 298. Binary Tree Longest Consecutive Sequence

Given a binary tree, find the length of the longest consecutive sequence path.The path refers to any...

【leetcode】longest-consecutive-sequence

Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

LeetCode 之 Longest Consecutive Sequence

原题: Given an unsorted array of integers, find the length of the longest consecutive elements se...

LeetCode Longest Consecutive Sequence

https://oj.leetcode.com/problems/longest-consecutive-sequence/ Longest Consecutive Sequence...

【LeetCode】Longest Consecutive Sequence 解题报告

【题目】 Given an unsorted array of integers, find the length of the longest consecutive elements s...

LeetCode 128. Longest Consecutive Sequence

题目描述: Given an unsorted array of integers, find the length of the longest consecutive elements seq...

leetcode_question_128 Longest Consecutive Sequence

Given an unsorted array of integers, find the length of the longest consecutive elements sequence. ...

【LeetCode】128. Longest Consecutive Sequence

128. Longest Consecutive Sequence

leetcode Longest Consecutive Sequence

获取一个数组当中,最长连续数字

Longest Consecutive Sequence -- leetcode

Given an unsorted array of integers, find the length of the longest consecutive elements sequence. ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)