js判断回文数

判断回文数

数组反转的形式

/**
 * 数组反转的形式
 */
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
}

性能从上到下越来越好

猜你喜欢

转载自blog.csdn.net/qq_47234456/article/details/124937422