验证数字是否为JavaScript中的回文

假设我们必须编写一个函数,该函数接受一个Number并根据该数字是否为回文事实返回一个布尔值。一个限制是我们必须这样做,而不能将数字转换为字符串或任何其他数据类型。

回文数是从后向和向前读相同的数字。

例如-

121

343

12321

因此,让我们为该函数编写代码-

示例

const isPalindrome = (num) => {

   //找到合适的因子来提取第一个数字

   let factor = 1;

   while (num / factor >= 10){

      factor *= 10;

   }

   while (num) {

      let first = Math.floor(num / factor);

      let last = num % 10;

      //如果第一位和最后一位不同,则返回false-

      if (first != last){

         return false;

      }

      //从数字中删除第一位和最后一位数字

      num = Math.floor((num % factor) / 10);

      //减少2倍的系数,因为删除了2位数字

      factor = factor / 100;

   }

   return true;

};

console.log(isPalindrome(123241));

console.log(isPalindrome(12321));

console.log(isPalindrome(145232541));

console.log(isPalindrome(1231));

输出结果

控制台中的输出将为-

false

true

true

false

以上是 验证数字是否为JavaScript中的回文 的全部内容, 来源链接: utcz.com/z/322400.html

回到顶部