回文数&&回文串

来源:互联网 发布:女士手套品牌 知乎 编辑:程序博客网 时间:2024/04/30 16:53

“回文串”是一个正读和反读都一样的字符串,比如“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));