public String removeDuplicateLetters(String s) {
int[] count = new int[256];
boolean[] visited = new boolean[256];
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
for (char c : s.toCharArray()) {
while (!stack.isEmpty() && stack.peek() > c && count[stack.peek()] != 0) {
visited[stack.peek()] = false;
StringBuilder res = new StringBuilder();
while (!stack.isEmpty()) {
return res.reverse().toString();