<?php
/**
* 最长公共前缀
*
* User: hihone
* Date: 2019/2/3
* Time: 10:24
* Description:
* 如果不存在公共前缀,返回空字符串 ""。
* 所有输入只包含小写字母 a-z 。
*/
/**
* @param $array
*
* @return string
*/
function longestCommonPrefix($array)
{
if (empty($array) || count($array) == 0) return '';
$minLen = PHP_INT_MAX;
#获取最短的数组
foreach ($array as $arr) $minLen = min($minLen, strlen($arr));
$i = 0;
$prefix = '';
$s = '';
$res = true;
while ($i < $minLen) {
$s .= $array[0][$i];
foreach ($array as $arr) {
$ss = substr($arr, 0, $i + 1);
if ($s != $ss) {
$res = false;
break;
}
}
$res && $prefix = $s;
$i++;
}
return $prefix;
}
$arr = ["flower", "flow", "flight"];
echo longestCommonPrefix($arr);#fl
最长公共前缀
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 需求 编写一个函数来查找字符串数组中的最长公共前缀。 说明所有输入只包含小写字母 a-z 。如果不存在公共前缀,返...
- 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 说明:所有输入...