Skip to main content

250. Count Univalue Subtrees

https://leetcode.com/problems/count-univalue-subtrees

Python

class Solution:
def __init__(self):
self.ans = 0

def countUnivalSubtrees(self, root: Optional[TreeNode]) -> int:
if not root:
return 0

if self.check_tree(root, root.val):
self.ans += 1

self.countUnivalSubtrees(root.left)
self.countUnivalSubtrees(root.right)

return self.ans

def check_tree(self, node: Optional[TreeNode], parent_var: int) -> int:
if not node:
return True

if node.val == parent_var \
and self.check_tree(node.left, parent_var) \
and self.check_tree(node.right, parent_var):
return True

return False