Skip to content

Longest Common Prefix

Leetcode проблема ссылка на сайте

Задача

Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "".

Example 1:

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

Example 2:

Input: strs = ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.

Constraints:

1 <= strs.length <= 200

0 <= strs[i].length <= 200

strs[i] consists of only lowercase English letters.

Решение


class Solution {

    /**
     * @param String[] $strs
     * @return String
     */
    function longestCommonPrefix($strs) {

        $prefix = "";
        sort($strs);
        $firstWord = $strs[0];
        $lastWord = $strs[count($strs) - 1];

        for ($i = 0; $i < min(strlen($firstWord), strlen($lastWord)); $i++) {
            if ($firstWord[$i] !== $lastWord[$i]) {
                return $prefix;
            } else {
                $prefix .= $firstWord[$i];
            }
        }

        return $prefix;
    }
}