如何利用JS判断整数x是否是回文数

 更新时间:2022年01月19日 15:59:13   作者:jGjHwTzBzEwSdTb  
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,下面这篇文章主要给大家介绍了关于如何利用JS判断整数x是否是回文数的相关资料,需要的朋友可以参考下

题目

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true

示例 2:

输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。

示例 4:

输入: x = -101
输出: false

提示:

  • -231 <= x <= 231 - 1

解题思路

将数字本身反转,将反转后的值与原值进行比较(但这有一个问题,就是如果反转之后的数字过大会存在整数溢出问题,目前还没有想到好解决的办法,后续考虑到随时更新文章)

具体分析:

1.先把数字转化成字符串number.toString()

2.然后把字符串拆分成数组string.split()

3.然后把数组中的数据倒换位置

4.然后把倒换后的数组整合成字符串

5.最后再与开始拆分后的字符串进行比较,如果一样的就返回true, 如果不一样的就返回false

代码实现

/*
 * @lc app=leetcode.cn id=9 lang=javascript
 *
 * [9] 回文数
 */

// @lc code=start
/**
 * @param {number} x
 * @return {boolean}
 */
 var isPalindrome = function(x) {
        var xString = x.toString();
        var xStringArr = xString.split('');
        var resultStr = '';
        for (var i = xStringArr.length-1; i >= 0; i--) {
            resultStr += xString.charAt(i);
        }
    if(resultStr === xString){
        return true;
    } else {
        return false;
    }
}
// @lc code=end

其他方法

  • 将数字的后半段通过取余方式拿出来,并反转与前半段数字进行比较
  • 字符串反转不用字符串思路=》个十百等转换相加比较ok
  • 直接用js自带的reverse方法即可

总结

到此这篇关于如何利用JS判断整数x是否是回文数的文章就介绍到这了,更多相关JS判断整数x是回文数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅析上传头像示例及其注意事项

    浅析上传头像示例及其注意事项

    本文主要分享一个简易的上传头像示例以及其大致流程、实现过程中需要注意的事项。具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • FireFox中textNode分片的问题

    FireFox中textNode分片的问题

    FireFox中textNode分片的问题...
    2007-04-04
  • 详解javascript遍历方式

    详解javascript遍历方式

    这篇文章主要介绍了详解javascript遍历方式,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • easyui-combobox 实现简单的自动补全功能示例

    easyui-combobox 实现简单的自动补全功能示例

    下面小编就为大家带来一篇easyui-combobox 实现简单的自动补全功能示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,
    2016-11-11
  • JavaScript交换两个变量值的七种解决方案

    JavaScript交换两个变量值的七种解决方案

    最近在写位操作的时候突然想到了这个问题,突然想总结一下,交换变量值的问题可能使我们学习编程语言接触到的比较早的逻辑问题,小伙伴或多或少会两种解决的方法,本文提供了七种解决的方法,下面跟着小编来一起看看吧。
    2016-12-12
  • 使用JavaScript检测Firefox浏览器是否启用了Firebug的代码

    使用JavaScript检测Firefox浏览器是否启用了Firebug的代码

    在启用Firebug的情况下访问GMail会收到一个 Firebug会让Gmail变慢 的警告,这是如何检测的呢?这里就说说。
    2010-12-12
  • 详解js中构造流程图的核心技术JsPlumb(2)

    详解js中构造流程图的核心技术JsPlumb(2)

    这篇文章主要介绍了js中构造流程图的核心技术JsPlumb,jsPlumb是一个强大的JavaScript连线库,它可以将html中的元素用箭头、曲线、直线等连接起来,适用于开发Web上的图表、建模工具等,需要的朋友可以参考下
    2015-12-12
  • JavaScript实现继承的4种方法总结

    JavaScript实现继承的4种方法总结

    这篇文章主要介绍了JavaScript实现继承的4种方法总结,本文给出了原型链继承、构造继承、实例继承、拷贝继承等实现JS继承的方法,需要的朋友可以参考下
    2014-10-10
  • ES6扩展运算符和rest运算符用法实例分析

    ES6扩展运算符和rest运算符用法实例分析

    这篇文章主要介绍了ES6扩展运算符和rest运算符用法,结合实例形式分析了ES6扩展运算符和rest运算符基本功能、用法及操作注意事项,需要的朋友可以参考下
    2020-05-05
  • 通过seajs实现JavaScript的模块开发及按模块加载

    通过seajs实现JavaScript的模块开发及按模块加载

    seajs实现了JavaScript 的 模块开发及按模块加载。用来解决繁琐的js命名冲突,文件依赖等问题,其主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载。下面我们来一起深入学习下吧
    2019-06-06

最新评论