这个回文功能的复杂性是什么?

时间:2018-05-14 18:57:56

标签: palindrome

<?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是字母

由于

1 个答案:

答案 0 :(得分:1)

如果我们使用Big Oh表示法来表示算法的时间复杂度,那么它将是O(n)