Untitled

 avatar
unknown
java
2 months ago
1.9 kB
3
Indexable
import java.util.*;

class Solution {
        public String solution(String s) {
                    Deque<Character> stack = new ArrayDeque<>();
                            
                                    for (char ch : s.toCharArray()) {
                                                    if (ch == '$') {
                                                                        if (!stack.isEmpty()) {
                                                                                                removeSmallest(stack);
                                                                        }
                                                    } else {
                                                                        stack.push(ch);
                                                    }
                                    }

                                            StringBuilder result = new StringBuilder();
                                                    while (!stack.isEmpty()) {
                                                                    result.append(stack.pollLast()); // Retrieve characters in order
                                                    }
                                                            return result.toString();
        }

            private void removeSmallest(Deque<Character> stack) {
                        List<Character> temp = new ArrayList<>(stack);
                                char minChar = Collections.min(temp);
                                        stack.removeLastOccurrence(minChar);
            }
}
            }
                                                    }
                                                    }
                                                                        }
                                                    }
                                    }
        }
}
Editor is loading...
Leave a Comment