回文数-leetcode

1. 地址

https://leetcode-cn.com/problems/palindrome-number

2. 思路

  1. 解法一:转成数组,看一下数组是不是回文数
  2. 解法二:从尾计算到一半,如果大于前半部分,则不是回文的,要注意是否是奇数位,奇数位的后半部分翻转之后会恒大于前半部分,需要再整除 10

php 里面整除在 php7 版本增加了 intdiv 用来处理整除的情况,否则需要使用 floor 来取整。

3. 代码


class Solution {

    /**
     * @param Integer $x
     * @return Boolean
     */
    function isPalindrome($x) {
        if (empty($x)) {
            return true;
        }
        if ($x < 0 || $x % 10 == 0) {
            return false;
        }
        $re = 0;
        while ($re < $x) {
            $re = $re * 10 + $x % 10;
            $x = floor($x / 10);
        }

        return $x == $re || $x == floor($re / 10);
    }
}

posted @ 2020-06-03 23:27  吴丹阳-V  阅读(143)  评论(0编辑  收藏  举报