Remove Duplicate Letters

来源:互联网 发布:sql注入的处理方法 编辑:程序博客网 时间:2024/06/06 07:00

这种题考的不是算法,就是梳理逻辑

本题使用哈希表和栈的思路可以解决

class Solution {public:string removeDuplicateLetters(string s) {int m[256] = { 0 }, visited[256] = { 0 };string res = "0";for (auto a : s) ++m[a];for (auto a : s) {--m[a];if (visited[a]) continue;while (a < res.back() && m[res.back()]) {visited[res.back()] = 0;res.pop_back();}res += a;visited[a] = 1;}return res.substr(1);}};


0 0
原创粉丝点击