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

来源:互联网 发布:不是我不爱你网络歌手 编辑:程序博客网 时间:2024/05/21 02:50

实现逻辑:

  • 获取数组中所有元素公共前缀
  • 用公共前缀匹配每一个元素,查找符合条件的字符串

欢迎猿猿们留言指导
其他语言实现请参考以下链接。
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;    }
阅读全文
0 0