开幕式焰火
开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。
给定一棵二叉树 root 代表焰火,节点值表示巨型焰火这一位置的颜色种类。请帮小扣计算巨型焰火有多少种不同的颜色。
小刘解题
此处求的是节点值得个数,此处可采用HashSet来存储,最后直接返回HashSet的个数。
class Solution {
public HashSet<Integer> hashSet=new HashSet<>();
public int numColor(TreeNode root) {
preTraversal(root);
return hashSet.size();
}
public void preTraversal(TreeNode root){
if(root==null){
return;
}
hashSet.add(root.val);
preTraversal(root.left);
preTraversal(root.right);
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) { this.val = val; }
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
版权声明:本文为qq_43785075原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。