Update bt_count_unival.py

This commit is contained in:
bt3gl 2023-08-08 14:55:51 -07:00 committed by GitHub
parent b61c58b158
commit 94de93780a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,29 +2,20 @@
# -*- coding: utf-8 -*-
# author: bt3gl
'''
Given the root of a binary tree, return the number of uni-value subtrees.
A uni-value subtree means all nodes of the subtree have the same value.
'''
def count_unival(root: Optional[TreeNode]) -> int:
def count_unival(root) -> int:
global count = 0
def dfs(node):
if not node:
if node is None:
return True
is_uni_left = dfs(node.left)
is_uni_right = dfs(node.right)
if is_uni_left and is_uni_right:
if node.left and node.left.val != node.val:
return False
if node.right and node.right.val != node.val:
return False
if dfs(node.left) and dfs(node.right):
if (node.left and node.left.val != node.val) or \
(node.right and node.right.val != node.val):
return False
self.count += 1
return True