class Solution { public String removeDuplicates(String s) { Stack stack = new Stack<>(); for (int i =0; i < s.length(); i++) { char c = s.charAt(i); if (!stack.isEmpty() && stack.peek() == c) { while(i + 1< s.length() && s.charAt(i+1) == c) i++; stack.pop(); continue; } else { stack.push(c); } } StringBuilder sb = new StringBuilder(); for (char c : stack) { sb.append(c); } return sb.toString(); } }