golang
package main
import "fmt"
func main(){
bool := isPalindrome(12321)
fmt.Println(bool)
}
func isPalindrome(x int){
//当 x 为 -12321 或者 x 的余数 等于 0 并且 x >0 时 x 不是回文数
if x < 0 || (x%10 == 0 && x > 0){
return false
}
//定义翻转后的 x 变量
revertedNumber := 0
//死循环,当revertedNumber => x停止循环,例如:x = 12121会得到 revertedNumber = 123,x = 12
for x > revertedNumber {
revertedNumber = revertedNumber * 10 + x%10
x /= 10
}
//当 x是偶数是 x == revertedNumber , 当x是奇数时 revertedNumber /10 会去掉回文数的中位数
return x == revertedNumber || x == revertedNumber/10
}
PHP
class Solution {
/**
* @param Integer $x
* @return Boolean
*/
function isPalindrome($x) {
if($x < 0 || ($x > 0 && $x%10 == 0)){
return false;
}
$num = 0;
while ($x > $num){
$num = $num * 10 + $x%10;
$x = intval($x/10);
}
return $x == $num || $x == intval($num/10);
}
}