码迷,mamicode.com
首页 > 编程语言 > 详细

PHP算法之最长公共前缀

时间:2019-12-07 10:29:37      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:comm   bsp   php   long   截取   pre   ref   最长公共前缀   val   

### 解题思路
方法太笨重后期优化
循环比较
循环长度利用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算法之最长公共前缀

标签:comm   bsp   php   long   截取   pre   ref   最长公共前缀   val   

原文地址:https://www.cnblogs.com/corvus/p/12000732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!