https://leetcode.com/problems/make-the-string-great/
- Stack
- String
Use a stack to remove adjacent characters that are the same letter but different case.
O(n)
O(n)
import java.util.*;
class Solution {
public String makeGood(String s) {
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
if (!stack.isEmpty() && Math.abs(stack.peek() - c) == 32) stack.pop();
else stack.push(c);
}
StringBuilder ans = new StringBuilder();
for (char c : stack) ans.append(c);
return ans.toString();
}
}