class Solution {
unordered_map<int, int> cnt;
int maxCnt = 0;
int dfs(TreeNode *node) {
if (node == nullptr) {
return 0;
}
int sum = node->val + dfs(node->left) + dfs(node->right);
maxCnt = max(maxCnt, ++cnt[sum]);
return sum;
}
public:
vector<int> findFrequentTreeSum(TreeNode *root) {
dfs(root);
vector<int> ans;
for (auto &[s, c]: cnt) {
if (c == maxCnt) {
ans.emplace_back(s);
}
}
return ans;
}
};
相关文章
- 10-26青少年编程与数学 02-002 Sql Server 数据库应用 03课题、安装SQL Server Management Studio
- 10-26spyglass关于cdc检测的一处bug
- 10-26Java中的对象——生命周期详解
- 10-26Photoshop中的混合模式公式详解
- 10-26算法的学习笔记—数组中只出现一次的数字(牛客JZ56)
- 10-26C++ | Leetcode C++题解之 第508题出现次数最多的子树元素和-题解:
- 10-26Uniapp使用UviewPlus在APP当中进行文件上传的解决方案
- 10-26雷池社区版有多个防护站点监听在同一个端口上,匹配顺序是怎么样的
- 10-26Go 语言基础教程:4.常量的使用
- 10-26MySQL查看某个数据库里面每张表的字符集和字符排序集