[Solved] Using java, input string=”aabbcdeaaaabbb” and the output must be aaaa


I believe your code is overly complicated. You don’t need a StringBuilder nor an ArrayList. I tried to understand your intention, but then skipped it and wrote my own version instead. Hope it helps anyway.

public static String subStringFinder(String word) {
    if (word == null || word.isEmpty()) {
        return word;
    }
    char currentChar = word.charAt(0);
    int longestStart = 0;
    int longestLength = 0;
    int currentStart = 0;
    int currentLength = 1;
    for (int ix = 1; ix < word.length(); ix++) {
        if (word.charAt(ix) == currentChar) {
            currentLength++;
        } else {
            if (currentLength > longestLength) {
                longestStart = currentStart;
                longestLength = currentLength;
            }
            currentChar = word.charAt(ix);
            currentStart = ix;
            currentLength = 1;
        }
    }
    if (currentLength > longestLength) {
        longestStart = currentStart;
        longestLength = currentLength;
    }
    return word.substring(longestStart, longestStart + longestLength);
}

0

solved Using java, input string=”aabbcdeaaaabbb” and the output must be aaaa