用 JavaScript 验证数字是否为回文

javascriptweb developmentobject oriented programming更新于 2025/10/1 23:40:17

假设,我们必须编写一个函数,该函数接受一个数字并根据该数字是否为回文返回一个布尔值。一个限制是我们必须在不将数字转换为字符串或任何其他数据类型的情况下执行此操作。

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

例如 −

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 

相关文章


有用资源