解题步骤:

(1)创建字符型数组arr,存放字符串s的各个元素。

(2)进行for循环:

①index == -1:表明当前数组arr中无任何元素,则直接将s.charAt(i)的值存入arr数组;

②arr[index] == s.charAt(i):表明前后两个元素相同,则将index--(即删除相邻且相同的两个字符);

(3)创建字符串res存放arr中的所有元素,并将其作为结果字符串返回。

具体代码:

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @return string字符串
     */
    public String removeDuplicates (String s) {
        int index = -1;
        char[] arr = new char[s.length()];
        for (int i = 0; i < s.length(); i++) {
            if (index != -1 && arr[index] == s.charAt(i)) {
                index--;
            } else {
                index++;
                arr[index] = s.charAt(i);
            }
        }
        String res = new String(arr, 0, index + 1);
        return res;
    }
}