PHP算法之最长公共前缀
Posted 野香蕉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP算法之最长公共前缀相关的知识,希望对你有一定的参考价值。
### 解题思路
方法太笨重后期优化
循环比较
循环长度利用max(最长字符串的循环)
不满住条件的截取
### 代码
```php
class Solution {
/**
* @param String[] $strs
* @return String
*/
function longestCommonPrefix($strs) {
$count = count($strs);
$val = [];
$len = 0;
for($i=0;$i<$count;$i++){
$arr = str_split($strs[$i],1);
$len = max($len,strlen($strs[$i]));
if($i==0){
$val = $arr;
}else{
for($a = 0;$a < $len ;$a++){
if($val[$a] != $arr[$a]){
if($a==0){
return "";
}else{
$val = array_slice($val,0,$a);
}
}
}
}
}
return str_replace(‘,‘,‘‘,implode(‘,‘,$val));
}
}
``
后期优化
$prefix = ‘‘;
$i = 0;
if(count($strs)<1){
return $prefix;
}
while(true){
$current = $strs[0]{$i};
if(!$current){
return $prefix;
}
foreach($strs as $str){
if($str{$i} != $current){
return $prefix;
}
}
$prefix .= $current;
$i++;
}
return $prefix;
作者:yytswcx
以上是关于PHP算法之最长公共前缀的主要内容,如果未能解决你的问题,请参考以下文章
数据结构与算法之深入解析“最长公共前缀”的求解思路与算法示例