文章目录 一、题目 二、题解 三、代码 一、题目 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 二、题解 同样考虑单调栈的思路 保持栈内元素单调递增,当前元素小于栈顶元素时,需要将栈顶元素弹出,直到栈顶元素大于当前元素 弹出时需要保证,每个字母都出现一次 这样保证了,下次出现已经存在栈中的字符时,可以直接跳过,因为对于重复的字符,不是放入再比较 而是不满足时不会入栈,保证了栈单调递增特性 三、代码 class Solution { public String removeDuplicateLetters