「每日LeetCode」2021年12月9日

本文最后更新于:2023年3月19日 晚上

LCP 44. 开幕式焰火

LCP 44. 开幕式焰火

「力扣挑战赛」开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。
给定一棵二叉树 root 代表焰火,节点值表示巨型焰火这一位置的颜色种类。请帮小扣计算巨型焰火有多少种不同的颜色。
示例 1:
输入:root = [1,3,2,1,null,2]
输出:3
解释:焰火中有 3 个不同的颜色,值分别为 1、2、3
示例 2:
输入:root = [3,3,3]
输出:1
解释:焰火中仅出现 1 个颜色,值为 3
提示:

  • 1 <= 节点个数 <= 1000
  • 1 <= Node.val <= 1000

思路

按题意遍历加入 set 中即可,返回 size 即可。

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
var numColor = function (root) {
const res = new Set();
const visit = (node) => {
if (!node) return;
visit(node.left);
visit(node.right);
res.add(node.val);
};
visit(root);
return res.size;
};