验证数字是否为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