class Solution {
public:
string removeDuplicateLetters(string s) {
string ret;
ret.push_back('0');
vector<int> count(26,0);
vector<bool> visited(25,false);
for(auto c :s)
{
count[c-'a']++;
}
for(auto c :s)
{
count[c-'a']--;//次数减少
if(visited[c-'a'])//如果已经放在了ret中则 继续
continue;
while(ret.size()&&c<ret.back()&&count[ret.back()-'a'])//保持为一个递增序列
{
visited[ret.back()-'a']=false;
ret.pop_back();
}
ret.push_back(c);
visited[c-'a']=true;
}
ret=ret.substr(1);
return ret;
}
};
Remove Duplicate Letters
最新推荐文章于 2021-01-23 20:29:17 发布