题目浅析

  • 想查看原题可以点击题目链接

  • 简单地说,就是用一个二叉树代表焰火,节点代表部分焰火颜色种类,求焰火中有多少种颜色。

思路分享

代码解答(强烈建议自行解答后再看)

  • 参考题解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def numColor(self, root: TreeNode) -> int:
cnt = set()
def dfs(root: TreeNode):
if not root:
return
cnt.add(root.val)
dfs(root.left)
dfs(root.right)
dfs(root)
return len(cnt)