把串中字符放入数组排序去重即可。
class Solution {
public:
int secondHighest(string s) {
vector<int> t;
for(auto c:s){
if(isdigit(c)){
t.push_back(c-'0');
}
}
sort(t.begin(),t.end(),greater<>());
t.resize(unique(t.begin(),t.end())-t.begin());
if(t.size()<2) return -1;
return t[1];
}
};
时间复杂度:O(nlogn)
空间复杂度:O(n)