小黑代码
class Solution:
def longestUnivaluePath(self, root: Optional[TreeNode]) -> int:
dict_ = collections.defaultdict(int)
self.max_ = 0
def dfs(node):
if not node:
return
dfs(node.left)
dfs(node.right)
left_len = 0
right_len = 0
if node.left and node.left.val == node.val:
left_len = dict_[node.left]
if node.right and node.right.val == node.val:
right_len = dict_[node.right]
dict_[node] = max(left_len, right_len) + 1
path_len = left_len + right_len
if path_len > self.max_:
self.max_ = path_len
dfs(root)
return self.max_
深度优先搜索法
class Solution:
def longestUnivaluePath(self, root: Optional[TreeNode]) -> int:
self.ans = 0
def dfs(node):
if not node:
return 0
left_len = dfs(node.left)
right_len = dfs(node.right)
left_len = left_len + 1 if node.left and node.left.val == node.val else 0
right_len = right_len + 1 if node.right and node.right.val == node.val else 0
self.ans = max(left_len + right_len, self.ans)
return max(left_len, right_len)
dfs(root)
return self.ans
小黑生活
每日的便当饭,20+
打杂日常,受到了小小的肯定,虽然干的事情不难,但是也有点儿小开心,来这里的每一天,尽可能收获更多的东西,去创造价值
昨晚身体有点儿疲惫,一个人喝了点儿酒,今天早上没吃牛排,跑到后面比较饿,但还是坚持早起了,希望能尽快调整适应到每天10k
下午来个咖啡