返回字符串 text 中按字典序排列最小的子序列,该子序列包含 text 中所有不同字符一次。
示例 1:
输入:"cdadabcc"
输出:"adbc"
示例 2:
输入:"abcd"
输出:"abcd"
示例 3:
输入:"ecbacba"
输出:"eacb"
示例 4:
输入:"leetcode"
输出:"letcod"
提示:
1 <= <= 1000
text 由小写英文字母组成
题解:
思路:
1、题目要实现的是删除重复字符后,字典序最小的字符串;
2、该类问题,可以采用递增栈的思路来解决;
class Solution {
public:
string smallestSubsequence(string s) {
string stk;
int i = 0;
for (int i = 0; i < (); ++i) {
if ((s[i]) != string::npos)
continue;
while (() && () > s[i] && ((), i) != string::npos) {
stk.pop_back();
}
stk.push_back(s[i]);
}
return stk;
}
};