实现strStr():
PHP 16ms:
此方法的实现可以借助PHP内置函数,strstr或者strpos。本算法最佳解决办法之一为kmp算法,研究了一晚上研究明白之后,最后早上选择了暴力破解。。。
haystack与needle错位匹配。时间复杂度O(
),空间复杂度O(1).效率较低。后续会优化使用kmp。
class Solution {
function strStr($haystack, $needle) {
if(empty($needle)){
return 0;
}
$hlen = strlen($haystack);
$nlen = strlen($needle);
$index = -1;
for($i = 0;$i <= $hlen-$nlen;$i++){
for($j = 0;$j < $nlen;$j++){
if($haystack[$j+$i]!=$needle[$j]){
$index = -1;
break;
}else{
$index = $i;
}
}
if($index!=-1){
return $index;
}
}
return $index;
}
}