leetcode508
来源:互联网 发布:苹果六怎么备份数据 编辑:程序博客网 时间:2024/04/19 09:13
经典的树的DFS搜索,采用map操作,得到result和出现的次数的对照表格,然后利用机械的方法,得到最大次数对应的result值。
在这个问题中,竟然因为
iterator的使用浪费大量时间,不值得推崇。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: map<int,int> countMap; int sum(TreeNode * root) { if(root==NULL) return 0; else { int result = sum(root->left)+sum(root->right)+root->val; if(countMap.count(result)==0) countMap[result]=1; else countMap[result]++; return result; } } vector<int> findFrequentTreeSum(TreeNode* root) { vector<int> frequentNum; if (root==NULL) return frequentNum; else { sum(root); map<int,int>::iterator it=countMap.begin(); int maxFre=(it)->second; for(it;it!=countMap.end();it++) { if(it->second>maxFre) maxFre=it->second; } for(it=countMap.begin();it!=countMap.end();it++) { if(maxFre==it->second) frequentNum.push_back(it->first); } return frequentNum; } }};
0 0
- leetcode508
- leetcode508 Most Frequent Subtree Sum
- leetcode508 Most Frequent Subtree Sum Java
- 【Leetcode508】Most Frequent Subtree Sum题解
- leetcode---Product of Array Except Self
- 向上转型和向下转型
- 有向图的欧拉道路 UVA
- Leetcode题解:513. Find Bottom Left Tree Value
- RHEL6.5 LVM硬盘管理
- leetcode508
- 1091. Acute Stroke (30)[bfs广度优先搜索+种子填充]
- 64位MinGW和MSYS的安装
- java集合
- 数据挖掘---关联规则---ECLAT算法
- 启动关闭一个网络接口时的连带效应
- android之MediaPlayer 和SoundPool
- babel总结
- 获取手机号码联系人,短信信息