Skip to content

Commit b1b6489

Browse files
committed
Time: 289 ms (100.00%), Space: 50.8 MB (51.67%) - LeetHub
1 parent e3db0db commit b1b6489

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from typing import Optional
2+
3+
4+
class TreeNode:
5+
def __init__(self, val=0, left=None, right=None):
6+
self.val = val
7+
self.left = left
8+
self.right = right
9+
10+
11+
class Solution:
12+
13+
def equalToDescendants(self, root: Optional[TreeNode]) -> int:
14+
count = 0
15+
16+
def countNodes(node: Optional[TreeNode]) -> int:
17+
nonlocal count
18+
if node == None:
19+
return 0
20+
left = countNodes(node.left)
21+
right = countNodes(node.right)
22+
if left + right == node.val:
23+
count += 1
24+
return node.val + left + right
25+
26+
countNodes(root)
27+
return count
28+
29+
30+
root = TreeNode(10)
31+
root.left = TreeNode(3)
32+
root.left.left = TreeNode(2)
33+
root.left.right = TreeNode(1)
34+
root.right = TreeNode(4)
35+
36+
print(Solution().equalToDescendants(root))

0 commit comments

Comments
 (0)