687. Longest Univalue Path
class Solution:
answer = 0
def longestUnivaluePath(self, root):
def dfs(node):
if not node:
return 0
left = dfs(node.left)
right = dfs(node.right)
# 아래에서 부터 말려올라온거 계산해줌
# 아래가 나랑 같은면 +1임
if node.left and node.left.val == node.val:
left += 1
else:
left = 0
if node.right and node.right.val == node.val:
right += 1
else:
right = 0
# 답은 양옆도 계산해주는데
self.answer = max(self.answer, left + right)
# 위로 올라갈때는 당연히 둘 중 큰거 하나만 리턴해줘야함
return max(left, right)
dfs(root)
return self.answerQ
https://leetcode.com/problems/longest-univalue-path/Reference
この問題について(687. Longest Univalue Path), 我々は、より多くの情報をここで見つけました https://velog.io/@oem0404/687.-Longest-Univalue-Pathテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol