【题目】
【代码】

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def visit(self,root):
if not root:
return
l=self.visit(root.left)
r=self.visit(root.right)
l2,r2=0,0
if root.left and root.left.val==root.val:
l2=l+1
if root.right and root.right.val==root.val:
r2=r+1
self.cnt=max(self.cnt,l2+r2)
# print(root.val," l:",l," r:",r)
return max(l2,r2)
def longestUnivaluePath(self, root: Optional[TreeNode]) -> int:
self.cnt=0
self.visit(root)
return self.cnt
本文介绍了一种求解二叉树中最长相同值路径的算法实现。通过深度优先搜索遍历树节点,统计以当前节点为根的相同值路径长度,并更新全局最长路径。文章详细解释了核心代码逻辑及关键步骤。
1170

被折叠的 条评论
为什么被折叠?



