Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LeetCode 9. Palindrome Number (回文字数字)

LeetCode 9. Palindrome Number (回文字数字)

作者头像
明明如月学长
发布于 2021-08-27 08:14:01
发布于 2021-08-27 08:14:01
40000
代码可运行
举报
运行总次数:0
代码可运行

题目地址:https://leetcode.com/problems/palindrome-number/description/

题目要求:

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Example 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Input: 121
Output: true

Example 2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

Example 3:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

Follow up:

Coud you solve it without converting the integer to a string?

算法思路:

第一种思路:把数字转化为字符串,再通过字符来做。

  • 负数不可能是回文字数字,直接返回false
  • 通过left和right两个指针分别从中间往两边走依次比较,如果两个字符不同返回false
  • left容易确定,直接通过除2然后1即可(角标从0开始),如果是偶数right为left+1,否则则right为left+2

题目代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
    public boolean isPalindrome(int x) {
        if (x < 0) {
            return false;
        }
        String strX = String.valueOf(x);
        int length = strX.length();
        int left = length / 2 - 1;
        int right = length % 2 == 0 ? left+1 : left + 2;
        while (left >= 0){
            if(strX.charAt(left) != strX.charAt(right)){
                return false;
            }
            left--;
            right++;
        }

        return true;
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
11508 / 11508 test cases passed.
Status: Accepted
Runtime: 322 ms

第二种思路:直接通过数字的反转来做

  • 利用一个变量暂存初始的x
  • 负数直接返回false
  • 反转字符串存入result,在此过程中防止超过整数最大值
  • 最后判断反转后的整数是否和原始整数相等
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  public boolean isPalindrome(int x) {
        int y = x;
        if (x < 0) {
            return false;
        }

        int result = 0;
        while(x !=0){
            
             if (result*10 + x%10>Integer.MAX_VALUE){       
                 return false;
             }
            result = result*10 + x%10;
            x = x/10;
        }
        return result == y;
    }

11508 / 11508 test cases passed.

Status: Accepted

Runtime:  268 ms

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/04/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
npm使用国内镜像加速的几种方法
在使用npm过程中经常会遇到无法下载包的问题,本人在这里整理了几个npm使用国内镜像加速的方法,希望对大家有所帮助。
天天向上_82634
2018/12/17
174.6K3
npm使用国内镜像加速的几种方法
node.js更换国内源
首先查看当前镜像源,提示https://registry.npmjs.org/为npm默认镜像源
qiangzai
2021/12/21
2.4K0
node.js更换国内源
一文全面了解pnpm、yarn、cnpm、npx、npm的使用(强烈建议收藏)
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
小码匠
2023/08/31
6.2K0
一文全面了解pnpm、yarn、cnpm、npx、npm的使用(强烈建议收藏)
【Node.js】:配置源(registry)、代理(proxy)
换npm、yarn的镜像源,或配置npm、yarn的代理,都是为了解决 npm 依赖下载慢的问题。
WEBJ2EE
2021/01/28
16.9K0
【Node.js】:配置源(registry)、代理(proxy)
切换淘宝最新镜像源npm
npm 是 JavaScript 世界的包管理器,开发者每天都需要通过 npm 来下载、安装、更新各种包。为了提高国内用户的下载速度,淘宝团队维护了一个镜像源。
井九
2024/10/12
12.2K0
NPM 如何换源?
对于 NPM,下载完后不换源的话,下载依赖包就相当的慢,最后超时下载失败也经常发生。
前端西瓜哥
2022/12/21
5.8K1
猫头虎分享:2025最新 npm 国内可用镜像源仓库地址(01月01日更新)
在现代前端开发中,npm 已成为不可或缺的工具。然而,由于网络环境的限制,国内开发者在使用 npm 时经常遇到下载速度慢、连接超时等问题。为了解决这一痛点,国内多家企业和高校推出了 npm 镜像源,极大地提升了下载速度和稳定性。以下是 2025 年最新整理的国内可用 npm 镜像源地址。
猫头虎
2025/01/01
7.4K1
猫头虎分享:2025最新 npm 国内可用镜像源仓库地址(01月01日更新)
npm使用淘宝镜像
设置成淘宝镜像 修改配置文件 vim ~/.npmrc registry = https://registry.npm.taobao.org config命令设定 npm config set registry https://registry.npm.taobao.org npm config get registry # 如果返回https://registry.npm.taobao.org,说明配置成功 使用cnpm npm install -g cnpm --registry=https://r
陳斯托洛夫斯記
2022/10/27
1.1K0
npm源管理
原始源 安装完node之后,默认的原始源是: https://registry.npmjs.org/ cnpm 原始源在国外,所以速度受到限制。 可以通过安装cnpm使用淘宝镜像来进行加速: // 安装cnpm命令,不会改变npm的源 npm install -g cnpm --registry=https://registry.npm.taobao.org //使用 cnpm install 但是使用cnpm有时会有一些奇怪的错误,可以通过改变源的方式来进行加速。 临时改变源 使用 npm 命令的时候,
三分恶
2021/01/20
1.2K0
[已解决]npm淘宝镜像最新官方指引(2023.08.31)
原来的 registry.npm.taobao.org 已替换为 registry.npmmirror.com ,当点击 registry.npm.taobao.org 会默认跳转到 registry.npmmirror.com
Maynor
2024/05/26
13.8K0
[已解决]npm淘宝镜像最新官方指引(2023.08.31)
npm淘宝镜像的使用
外网在国内访问太慢了,所以一般大家都把镜像改成taobao镜像会加快安装速度。。。
javascript.shop
2019/09/04
4K1
Node版本及源管理
Node 版本推荐用最新的lts版本(目前12.x), 尝鲜可以用current版本(一般比稳定版超前一个大版本)
CRPER
2020/04/30
1.2K0
node.js 安装与 npm 加速
本文记录 node.js 安装过程。 Linux 安装 官网链接:https://nodejs.org/zh-cn/ 方法1 下载代码包: 下载后解压,将文件夹/bin目录添加到系统路径即可使用npm命令管理node.js包 方法2 下载二进制文件包 命令行可以: wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.xz 下载后解压并移动至系统目录: # 解压缩 tar -xf node-v16.14.2-lin
为为为什么
2022/08/06
2.7K0
node.js 安装与 npm 加速
开发提效小技巧分享(一)
在日常开发中,影响我们开发效率的因素很多,有时候不仅仅会影响开发效率,还会搞崩我们的心态。
编程三昧
2022/03/02
3830
开发提效小技巧分享(一)
54. Vue nrm的使用
使用npm下载镜像默认是采用国外的镜像地址的,那么当在国内使用国外的地址来下载软件,那么肯定存在网络缓慢的过程。
Devops海洋的渔夫
2022/01/17
3850
54. Vue nrm的使用
猫头虎分享:2025最新 npm 国内可用镜像源仓库地址(01月01日更新)
在现代前端开发中,npm 已成为不可或缺的工具。然而,由于网络环境的限制,国内开发者在使用 npm 时经常遇到下载速度慢、连接超时等问题。为了解决这一痛点,国内多家企业和高校推出了 npm 镜像源,极大地提升了下载速度和稳定性。以下是 2025 年最新整理的国内可用 npm 镜像源地址。
猫头虎
2025/01/02
2.1K0
猫头虎分享:2025最新 npm 国内可用镜像源仓库地址(01月01日更新)
nodejs之npm切换源
npm 源地址 1. 查看当前地址 npm config get registry npm config get disturl 2. 设置当前地址(设置为淘宝镜像) npm config set registry http://registry.npm.taobao.org/ 3. 设置当前地址(设置为默认地址) npm config set registry https://registry.npmjs.org/ 4. 每次执行命令前加入–registry指定仓库路径 npm --registry h
开水泡饭
2022/12/26
3.3K0
npm淘宝镜像安装 解决puppeteer下载chromuin出错问题
安装nodejs: 安装源 curl -sL https://rpm.nodesource.com/setup_10.x | bash - yum install -y nodejs ---- 安装puppeteer的过程中,想必很多人都会在puppeteer下载它内置的chromuin过程中出错 在网上找的几个解决办法中,无非就是在安装puppeteer的过程中使其跳过浏览器的下载 然后手动下载浏览器,并修改puppeteer的浏览器指向位置的代码,使其正常工作。 因为需要对代码进行修改
heasy3
2020/08/02
2.7K0
npm的卸载与安装流程
安装(npm 和node是一起的,安装成功node后就会自带npm) 1、下载地址为:https://nodejs.org/en/
全栈程序员站长
2022/07/22
5K0
npm的卸载与安装流程
npm镜像的设置与查看,使用
版本号里面的^表示,版本更新后面两位版本(3.x.x),如果是~则表示更新最后一位(3.1.x),如果不加符合就表示等于
SingYi
2022/07/13
2.2K0
npm镜像的设置与查看,使用
相关推荐
npm使用国内镜像加速的几种方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验