Поиск общего префикса в массиве строк 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;
}