思路
二叉搜索树的特性就是中序遍历有序,所以思考时可以先按照有序数组思考
代码
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;}
};