这是PHP代码使用函数参数检查字符串是palindrome或不..帮我一步一步地告诉我..过程正在发生…我无法理解
function palindrome($string) {
if ((strlen($string) == 1) || (strlen($string) == 0)) {
echo " STRING IS palindrome";
}
else {
if (substr($string,0,1) == substr($string,(strlen($string) - 1),1)) {
return palindrome(substr($string,1,strlen($string) -2));
}
else { echo " STRING IS NOT A palindrome"; }
}
}
palindrome("121");
解决方法:
此函数将字符串参数作为输入
它做的第一件事是检查递归基本情况.我们会回过头来看看
如果不满足基本情况,则使用此代码检查第一个字符是否与最后一个字符匹配:
if (substr($string,0,1) == substr($string,(strlen($string) - 1),1))
如果匹配,那么函数会递归地再次调用自己,但这次删除了第一个和最后一个字符,这是通过这一行完成的
return palindrome(substr($string,1,strlen($string) -2));
如果第一个字符与最后一个字符不匹配,该函数会自动输出到html“STRING不是通过回声的palindrome
现在回到我之前提到的基本情况,如果函数成功匹配并删除了第一个和最后一个字符,直到剩下一个或没有字符,那么该字符串已被确认为回文并且它回显该字符串.