美文网首页
最长公共前缀

最长公共前缀

作者: 花钱约下 | 来源:发表于2019-02-03 15:10 被阅读0次
<?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

相关文章

  • LeetCode 每日一题 [19] 最长公共前缀

    LeetCode 最长公共前缀 [简单] 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回...

  • 14. 最长公共前缀

    20180923-摘抄自14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,...

  • 5,最长公共前缀/数组与字符串

    最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1:...

  • Swift 最长公共前缀 - LeetCode

    题目: 最长公共前缀 描述: 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""...

  • leetcode探索之旅(14)

    最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 示例 1: ...

  • Leetcode 14 最长公共前缀

    最长公共前缀 题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例...

  • LeetCodeSwift 14.Longest Common

    题目 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例...

  • [day4] [LeetCode] [title14,122]

    14.最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例 ...

  • 14. 最长公共前缀

    14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 说明...

  • leetcode算法-最长公共前缀

    最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 说明:所有输...

网友评论

      本文标题:最长公共前缀

      本文链接:https://www.haomeiwen.com/subject/tviysqtx.html