Remove Duplicate Letters Posted on 2018-11-07 Descriptionhttps://leetcode.com/problems/remove-duplicate-letters/ Solution123456789101112131415161718192021222324252627class Solution {public: string removeDuplicateLetters(string s) { vector<char> st; vector<int> counter(26); vector<bool> visited(26); for (int i = 0; i < s.size(); ++i) counter[s[i]-'a'] += 1; for (int i = 0; i < s.size(); ++i) { --counter[s[i]-'a']; if (visited[s[i]-'a']) continue; while (!st.empty() && st.back() > s[i] && counter[st.back()-'a'] > 0) { visited[st.back()-'a'] = false; st.pop_back(); } st.push_back(s[i]); visited[st.back()-'a'] = true; } return string(st.begin(), st.end()); } };