508. Most Frequent Subtree Sum
来源:互联网 发布:asynchttp post json 编辑:程序博客网 时间:2024/05/01 12:38
Given the root of a tree, you are asked to find the most frequent subtree sum. The subtree sum of a node is defined as the sum of all the node values formed by the subtree rooted at that node (including the node itself). So what is the most frequent subtree sum value? If there is a tie, return all the values with the highest frequency in any order.
Examples 1
Input:
5 / \2 -3return [2, -3, 4], since all the values happen only once, return all of them in any order.
Examples 2
Input:
5 / \2 -5return [2], since 2 happens twice, however -5 only occur once.
Note: You may assume the sum of values in any subtree is in the range of 32-bit signed integer.
Subscribe to see which companies asked this question.
class Solution {
private:
map<int, int> m;
public:
vector<int> findFrequentTreeSum(TreeNode* root) {
vector<int> result;
dfs(root);
int maxn = 0;
for (auto it = m.begin(); it != m.end(); it++)
maxn = max(maxn, it->second);
for (auto it = m.begin(); it != m.end(); it++)
if (it->second == maxn)
result.push_back(it->first);
return result;
}
void dfs(TreeNode* root) {
if (root == NULL) return ;
if (root->left != NULL) {
dfs(root->left);
root->val += root->left->val;
}
if (root->right != NULL) {
dfs(root->right);
root->val += root->right->val;
}
m[root->val]++;
}
};
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- 508. Most Frequent Subtree Sum
- Most Frequent Subtree Sum
- Most Frequent Subtree Sum
- Leetcode-508. Most Frequent Subtree Sum
- [leetcode] 508. Most Frequent Subtree Sum
- LeetCode 508. Most Frequent Subtree Sum
- Leetcode 508. Most Frequent Subtree Sum
- leetcode题解-508. Most Frequent Subtree Sum
- 腾讯云快速安全的搭建使用wdcp
- 2017年5月1日13:01:52 389. Find the Difference [easy]
- golang 中的http包详解
- 项目开发感想
- golang 中的http包详解
- 508. Most Frequent Subtree Sum
- MFC学习(02) 矩形移动 (VC++6.0版本)
- Mac上超强的网络请求调试工具whistle,堪比Fiddler!
- Jenkins的使用
- 个人笔记:linux基本操作-进阶操作
- 初始化 State
- Android.mk添加大量.cpp 免除麻烦,只需添加
- [时间管理]TED-如何掌控你的时间
- Nginx配置基础-rewrite