来源:LeetCode
题目:
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
示例1:
输入:x = 121 输出:true
示例2:
输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
这个示例告诉我们排除掉负数
示例3:
输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。
这个示例告诉我们需要把尾数为0的数排除,只有0才是回文数。
要判断数字是不是回文数还可以用这种方法:
将它切开来一般判断前一半原数字和后一半的逆序数字是不是相等,如1221,将它切成两半,12和21的逆序‘12’是相等的,返回true。
JavaScript写法:
1 var isPalindrome = function(x) {
//排除负数 2 if( x < 0){ 3 return false; 4 }
//排除尾数为0且不等于0的数 5 if(x%10==0&&x!=0){ 6 return false; 7 }
//用a来判断 8 let a = 0;
//遍历循环 x>a用来求中位数 9 while(x>a){ 10 a = a*10 + x%10; 11 x = Math.floor(x/10); 12 } 13 return x === a || x === Math.floor(a/10); 14 };