Remove duplicates from adjacent/sorted array

public String removeDuplicate(String s, int k) {
    if (s == null || s.length() == 0 || s.length() < k) return s;
    char[] chars = s.toCharArray();
    int slow = k

    for (int fast = k; fast < s.length; fast++) {
        if (chars[fast] == chars[fast - k]) continue;
        chars[slow++] = chars[fast];
    }
    return chars[0] == chars[k] ? new String(chars, 0, slow - 1) : new String(chars, k, slow - 1);
}

最后更新于

这有帮助吗?