<?php
function p($s){
$count = strlen($s);
$start = 0;
$end = $count-1;
$r = true;
while($start<$end){
if(!isChar($s[$start])){
$start++;
}
elseif(!isChar($s[$end])){
$end--;
}else{
if($s[$start] !== $s[$end]){
$r = false;
break;
}
$start++;
$end--;
}
}
return $r;
}
function isChar($char){
$char = strtolower($char);
if (preg_match('/[a-z]/', $char)) {
return TRUE;
}
}
print_r(p("23123123!!,,we2ew")); // return true
?>
大家好, 我写了函数,检查字符串是否是回文。字符串可以包含任何字符,数字和符号,但我需要在a-z字符中检查
123ebc123 - false ,&lt;&gt; ebbe - 是的 123 / .~ !! aaa - true
这是实现此功能的最有效方法吗?
P.S。不要看看isChar函数的实现,假设只有一个函数返回true或false如果char是字母
由于
答案 0 :(得分:1)
如果我们使用Big Oh表示法来表示算法的时间复杂度,那么它将是O(n)