判断回文数
数组反转的形式
/**
* 数组反转的形式
*/
function findNums1(num){
const res = []
for(let i=1;i<=num;i++){
const s = i.toString()
if(s===s.split('').reverse().join('')){
res.push(i)
}
}
return res
}
字符串头尾比较
/**
* 字符串头尾比较
*/
function findNums2(num){
const res = []
for(let i=1;i<=num;i++){
const s = i.toString()
const length = s.length
// 字符串头尾比较
let flag = true
let start = 0 //字符串开始
let end = length-1 //字符串结束
while(start < end){
if(s[start] !== s[end]){
flag = false
break
}else {
// 继续比较
start++
end--
}
}
if(flag) res.push(i)
}
return res
}
纯数字比较
/**
* 纯数字比较
*/
function findNums3(num){
const res = []
for(let i=1;i<=num;i++){
let n = i
let rev = 0 //存储反转数
// 生成反转数
while(n>0){
rev = rev*10+n%10
n = Math.floor(n/10)
}
if(i===rev) res.push(i)
}
return res
}
性能从上到下越来越好