Straightforward Java solution
\nRuntime: 192 ms, faster than 100.00% of Java online submissions for Remove All Adjacent Duplicates In String.\nMemory Usage: 44 MB, less than 100.00% of Java 
```\nRuntime: 192 ms, faster than 100.00% of Java online submissions for Remove All Adjacent Duplicates In String.\nMemory Usage: 44 MB, less than 100.00% of Java online submissions for Remove All Adjacent Duplicates In String.\n```\n```\n\t\tpublic String removeDuplicates(String S) {\n            StringBuilder sb = new StringBuilder(S);\n            for (int i = 0; i < S.length() - 1; i++) {\n                if (S.charAt(i) == S.charAt(i + 1)) {\n                    return removeDuplicates(S.substring(0, i) + S.substring(i + 2));\n                }\n            }\n            return sb.toString();\n        }\n```
['Recursion']