题目:
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
示例:
输入:x=121 输出:true
思路:
判断数字是否回文有多种方式,比如将数字从中间分开去判断两端数字是否相等、将数字翻转,我采用了第二种方式。
首先将数字转化为数组,再使用reverse函数反转数组,将前后两个数组都转化为字符串,判断二者是否相等,相等则为回文,不相等则非回文。
解决:
var isPalindrome = function(x) { //假设x=121
let str = x+'' //将数字转化为字符串 str='121'
let arr = str.split("") //将字符串转化为数组 arr=[1,2,1]
let newArr = [...arr].reverse().toString() //将数组翻转并转化为字符串 newArr=1,2,1
let arr1 = arr.toString() //这一步主要是想得到相同格式的字符串 arr1=1,2,1
if(arr == newArr){
return true
}else{
return false
}
};
技术点:
1. split():分割函数,将字符串转换为数组。
var a=123;
var b=4,5,6;
a.split(); //得到[1,2,3]
b.split(“,”); //得到[4,5,6]
b.split(“,”,2); //得到[4,5]
2. reverse():颠倒数组中元素顺序,返回一个新数组。
3. toString():强制转化为字符串。