Написано: 26.02.2023

14. Наибольший общий префикс (Longest Common Prefix)

easy

Задание.

Напишите функцию для поиска самой длинной строки общего префикса среди массива строк.

Если общего префикса нет, верните пустую строку “”.

Пример 1.

Входные данные: strs = [“flower”,”flow”,”flight”]

Результат: “fl”

Пример 2.

Входные данные: strs = [“dog”,”racecar”,”car”]

Результат: “”

Пояснение: У полученных строк нет общего префикса.

Решение.

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
    	// строки сортируются,
    	// затем первая строка сравнивается с последней
    	// как находится несовпадение, процесс завершается
        sort(strs.begin(),strs.end());
        int a = strs.size();
        string n = strs[0], m = strs[a-1], ans = "";

        for(int i = 0; i < n.size(); i++) {
            if(n[i] != m[i]) {
                break;
            } else {
                ans += n[i];
            }
        }

        return ans;
    }
};