每日一题 【每日一题】二叉树最长连续序列 -Python-20211020

Jack · 2021年10月20日 · 最后由 Jack 回复于 2021年10月21日 · 33 次阅读
本帖已被设为精华帖!

给定一颗二叉树,找到最长连续路径的长度,即任何序列起始节点到树种任一节点都必须遵循父 - 子关系,最长的连续路径必须是从父节点到子节点

Jack 将本帖设为了精华贴 10月20日 21:53

参考代码:

class TreeNode:
    def __init__(self, val):
        self.val = val
        self.left = None
        self.right = None


class Solution:
    def longestConsecutive(self, root):
        return self.helper(root, None, 0)

    def helper(self, root, parent, len):
        if root is None:
            return len
        if parent != None and root.val == parent.val + 1:
            len += 1
        else:
            len = 1
        return max(len, max(self.helper(root.left, root, len), self.helper(root.right, root, len)))
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册