力扣-二叉树-501 二叉搜索树的众数
思路
二叉搜索树的特性就是中序遍历有序,所以思考时可以先按照有序数组思考
代码
class Solution {
public:
vector<int> result;
TreeNode* pre = nullptr;
int count = 1;
int maxCount = 0;
void travesl(TreeNode* node){
if(node == nullptr) return;
travesl(node->left);
if(pre != nullptr){
if(node->val == pre->val){
count++;
}else{
count = 1;
}
}
pre = node;
if( count == maxCount) result.push_back(node->val);
if( count > maxCount){
maxCount = count;
result.clear();
result.push_back(node->val);
}
travesl(node->right);
}
vector<int> findMode(TreeNode* root) {
travesl(root);
return result;
}
};