LeetCode每日刷题-9. 回文数

来源: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 };

LeetCode每日刷题-9. 回文数

 

 

 

 
上一篇:121. 买卖股票的最佳时机


下一篇:信息奥赛一本通(1413:确定进制)