Leetcode PHP题解--D134 14. Longest Common Prefix

198 阅读1分钟

D134 14. Longest Common Prefix

题目链接

14. Longest Common Prefix

题目分析

给定一个含有多个单词的数组,返回其中最长公共前缀。

就是说,把所有单词中共同的前几个字母返回。

解题思路

我们需要对比每个单词的同一个位置的字母。如果不一样就结束。如果遇到某一个单词对应位置没有字母时也结束。

虽然说要最长公共前缀,但最长也只能和给定数组中的最短单词一样长。

那么无论从哪个单词开始比都是一样的。

最终代码

<?php
class Solution {

    /**
     * @param String[] $strs
     * @return String
     */
    function longestCommonPrefix($strs) {
        $first = array_shift($strs);
        $first = str_split($first);
        $length = count($first);
        $prefix = '';
        for($i=0;$i<=$length;$i++){
            foreach($strs as $str){
                if(!isset($str[$i])){
                    break 2;
                }
                if($str[$i] != $first[$i]){
                    break 2;
                }
            }
            
            $prefix .=$first[$i];
        }
        return $prefix;
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。