一个简单的算法题:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
PHP实现:
function isPalindrome($s) {
$s = preg_replace( '/[^a-z0-9]/i', '', $s);
if(strcasecmp($s,strrev($s)) != 0){
return false;
}
return true;
}
测试用例:
"HEkSPsqs"?"3"?"rqrPSkEH" //false
"A man, a plan, a canal: Panama" //true
涉及知识:
1.正则表达式替换
2.strcasecmp与strrev函数。
也可以用笨办法遍历实现:
function isPalindrome($s) {
$s = preg_replace( '/[^a-z0-9]/i', '', $s);
$s = str_split($s);
$max = count($s)-1;
for($i=0;$i<$max/2;$i++){
if(strcasecmp($s[$i],$s[$max-$i]) != 0){
return false;
}
}
return true;
}
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » PHP判断是否是回文串函数
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » PHP判断是否是回文串函数