“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文数类似,如121,12121等。
1、判断给定的字符串是会否是回文串
// 设定两个指针,分别指向字符串的头尾,比较头尾指针对应的值,直到指向同一位置为止。如果首尾都相同则为回文串。
function isPalindrome($str) {
if (strlen($str) == 0)
return false;
$begin = 0;
$end = strlen($str) - 1;
while ($begin < $end) {
if ($str[$begin] != $str[$end]) {
return false;
}
$begin++;
$end--;
}
return true;
}
$str = 'madam';
var_dump(isPalindrome($str));
2、判断给定的数字是否为回文数
// 逆转算法
function isPalindromeNumber($number) {
if ($number <0 || ($number !=0 && $number % 10 == 0))
return false;
$sum = 0;
$tmp = $number;
while ($tmp) {
$sum = $sum * 10 + $tmp % 10;
$tmp = floor($tmp / 10);
}
if ($sum == $number)
return true;
else
return false;
}
var_dump(isPalindromeNumber(12121));