Поиск общего префикса в массиве строк JAVA

Начинаю изучать Java. Столкнулся с задачей: написать функцию для поиска самого длинного префикса среди массива строк. Пример:

Input: ["flower","flow","flight"]
Output: "fl"

Большая просьба, подскажите, какие библиотеки нужно изучить, чтобы понять, как решить данную задачу.


Ответы (1 шт):

Автор решения: Alexey Pavlovskiy
public String longestCommonPrefix(String[] strs) {
    if (strs.length == 0)
        return "";
    String prefix = strs[0];
    for (var str : strs)
        // Возвращает целочисленное значение, указывающее начальную 
        // позицию строки в объекте String. 
        // Если строка не найдена, возвращается -1.
        while (str.indexOf(prefix) != 0) {
            // Начальная позиция подстроки не равна 0, 
            // затем подстрока сокращается, а затем сравнивается.
            prefix = prefix.substring(0, prefix.length() - 1); 
            if (prefix.isEmpty())
                return "";
        }
    return prefix;
}
→ Ссылка