您的位置:首页 > 编程语言 > PHP开发

PHP实现一个函数查找字符串数组中最长的公共前缀字符串

2017-11-08 12:53 711 查看
实现逻辑:

获取数组中所有元素公共前缀

用公共前缀匹配每一个元素,查找符合条件的字符串

欢迎猿猿们留言指导。

其他语言实现请参考以下链接。

https://leetcode.com/problems/longest-common-prefix/solution/

代码块

function getCommonPreLongStr()
{
$array = [ 'leets','leetcode','leetc','aaaaa','le'];
$pre = '';
foreach ($array as $v){
if(empty($pre)){
$pre = $v;
}else{
//将字符串分割成数组,取两个数组的交集
$res =  implode('',array_intersect(str_split($pre),str_split($v)));
//不存在公共部分,不做处理
if(isset($res)){
$pre = $res;
}
}
}
//通过前缀获取最长字符串
$res = '';
foreach ($array as $value){
$match = strstr($value,$pre);
if(empty($res)){
$res = $match;
}else{
if(strlen($match) > strlen($res)){
$res = $match;
}
}
}

var_dump($res);die;
return  $res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐