前往小程序,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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
秋招时间规划,知识点汇总,以及面试总结一、知识储备二、面试问题三、心态变化四、总结
秋招已结束,作为一个平时潜水的牛友,很感激牛客网和广大牛友们。在我无知时,给与我知识;在我烦恼时,给与我慰藉;现在自己也拿到了心仪的offer,就简单写写这段时间的知识储备、面试问题和心态方面的变化吧。也算是对自己秋招的一次总结。LZ水平一般,大佬看看就好了~ 一、知识储备 (LZ有整理一些内容,有兴趣的同学,私信我,我发给你) LZ本科是计算机专业的,考研的时候看的王道四本专业书,于是我又温习了一遍:数据结构、计算机网络、操作系统和计算机组成原理,这几本书是最基础的知识了,总结的还是挺到位的,而且比较精简
牛客网
2018/04/28
1.1K0
抓住金三银四的尾巴,解锁程序员面试《刷题神器》
刷题 不仅能掌握知识,快速学习进步。 更能轻松搞定面试,尤其是有的大厂 钟爱问算法题,你不刷就不会,就会被pass。同时,刷题能陶冶情操,避免老年痴呆 😋 🍋 1、刷题的操作方法 刚开始的新手,无论是算法篇,SQL,还是前端题目,可能都不会,那你可以先想想思路,然后再看看 题解 里的大神是怎么实现的。 对于有一定经验的刷题者,一定要逼自己想出来! 然后再去看题解,这样才能豁然开奖,记忆深刻,真实掌握。 🍞 2、刷题的路径 刷题网站有很多,推荐一个我常用的: 算法篇(398题):面试必刷100
不吃西红柿
2022/09/19
3440
抓住金三银四的尾巴,解锁程序员面试《刷题神器》
【链家2018春招笔试面试帖:18届,数据分析岗】
岗位:数据分析师【如果有小伙伴也是这个岗位,可以加我微信(xuqiugui_)大家以后一起交流,备注:牛客】 时间:3-22 现场笔试+两轮技术面+hr面/3-26 VP面试 状态:4-3日邮件收到o
牛客网
2018/04/28
1.3K0
【链家2018春招笔试面试帖:18届,数据分析岗】
双非渣硕如何逆袭大厂30W+算法offer
先说一下本人的背景,双非渣硕研三在读,刚刚秋招上岸,综合考虑最终选择了某大厂,NLP算法岗,年薪30W+。
用户2145057
2020/01/15
9750
双非本,非科班的自我救赎之路
今天跟大家分享一位学弟的秋招经历,他跟大彬一样,也是非科班转码的,在今年这样的环境下,能成功”上岸“,非常不容易。
程序员大彬
2022/12/22
6270
双非本,非科班的自我救赎之路
(修订)来自山区双非本科少年的秋招冒险记
就在今天,我的秋招也算有了个结果,于是决定写篇文章分享下自己作为一个来自山区的双非本科少年秋招这一路走来的经历和感受。
乔戈里
2019/04/24
6100
(修订)来自山区双非本科少年的秋招冒险记
1 年后再选择:百度 or 虾皮?
然后,我才想起来之前一个师弟帮忙分享得当初纠结的两个 Offe 中就有一个虾皮(且最终选择了虾皮)。赶紧去问问他的情况如何,还好师弟所在的业务组暂时没有影响,提他捏了一把汗。
程序猿石头
2022/11/02
4990
1 年后再选择:百度 or 虾皮?
回馈牛客,校招总结(从一心想进银行到最后选择了互联网)
简介:女生,小硕,非科班,暑假前投过一些实习,毫无疑问,全挂。因为什么都不懂,研究生期间主要做的理论研究,跟计算机毫不相关,并不涉及编程,也没有学过数据结构和数据库。经过四个月的学习,期间经历过各种失败,也拿到了几个offer,最终选择了美团后台开发岗。 过程:六月份开始担心找不到工作,当时还处于迷茫期,不知道自己可以做什么。当时对自己没啥信心,就想着以后进银行挺好,又轻松对技术要求又不高,师兄也给了我好几本银行的书,自己也买了一些(这些书到现在还没翻过TT)。可是就算是进银行技术岗,还是得学一门语言,脑子
牛客网
2018/04/28
3.9K0
历经70+场面试,我发现了大厂面试的bug,并总结其中心得
每轮面试的整个流程一般分三部分,第一部让你做个自我介绍,第二部分面试官考察专业能力环节,最后一部分是反问面试官环节。
马士兵的朋友圈
2022/07/30
1.3K0
面阿里P7,竟问这么简单的题目?
作为面试官,不管是社招还是校招,我都有多年的经验了。在我参与的所有面试中,我都尽量期望能让候选人有所收获。(当然也期望自己在面试中也有所收获)
程序猿石头
2021/06/10
6790
面阿里P7,竟问这么简单的题目?
笔试面试的小结 反
原文  http://blog.csdn.net/suky520/article/details/39641783
bear_fish
2018/09/14
8390
京东Star和阿里星,揭示互联网企业对算法&机器学习岗的要求
从2015年8月到2015年10月,花了3个月时间找工作,先后通过内推参加了美团、阿里蚂蚁金服、京东、腾讯、今日头条、Growing IO、微软这7个公司的面试,同时参加了网易游戏、LinkedI In中国这2个公司的笔试,拿到比较优质的offer是京东Star和阿里星2个Offer。应聘的岗位要么是算法工程师,要么是机器学习与数据挖掘岗,企业叫法不同,工作实质都是利用机器学习与特征工程去解决业务问题。整个求职过程是一个和互联网企业双向了解,接收面试反馈后不断思考、调整职业规划与重复完善知识体系的过程,本文
机器学习AI算法工程
2018/03/14
3.3K0
读者上岸阿里的硬核经验分享
大家好,我是石头哥,最近正值校招季,这里分享一篇硬核校招面经,希望对大家有帮助。
程序猿石头
2021/09/24
9810
读者上岸阿里的硬核经验分享
国企和银行:面试都问些啥?如何准备?
8 根据简历,为什么使用oracle数据库,为什么不用hbase或者mysql这些
范蠡
2020/09/24
1.3K0
国企和银行:面试都问些啥?如何准备?
腾讯,百度,阿里面试经验
腾讯面经 本人IT屌丝一枚,毕业4年,5年经验(大四在腾讯实习一年,实习生工资,工作内容同正式员工一样)。非常幸运,先后收到过腾讯、百度和阿里的offer,在这里跟大家分享下经验,同诸君共勉。 本人职业生涯的起点开始于腾讯,能入职腾讯其实非常偶然。09年腾讯校招的时候,在本人的学校(学校是2本就不说名字了)开宣讲会,学院很多同学都去了,因为当时对腾讯兴趣不大所以没去,当时希望去中软金蝶这样的传统软件公司。一个宿舍的兄弟要去参加腾讯校招的笔试,我作为亲友团陪他一起去。腾讯的hr很nice给了我
机器学习AI算法工程
2018/03/09
4.3K0
网易杭州游戏研发实习面经
在牛客混了一段时间,看了很多大佬的面经,学习了很多,国内面试套路跟美国不大一样,写点东西也回馈下牛友
牛客网
2019/05/17
1.5K0
百度2018年春招实习面经,回馈牛客【实习offer已到手】
写在之前 从2017年10月左右就一直在牛客上刷题,然后计划着找实习。持续关注着牛客网的讨论区,看招聘信息,看面经,看技术交流,就想着要不断充实自己。 几乎每天都要上牛客,不是刷题就是看帖子,一直持续了好几个月,直到有一天看到一位牛友发布的百度垂直行业搜索部的实习生招聘 https://www.nowcoder.com/discuss/65718 仔细阅读了职位要求之后,发现还是比较符合自己预期的,就果断开始写简历投递了。投递详情:垂直行业搜索部-机器学习岗 这就开始了我读研以来的第一次求职之旅。 2.时间
牛客网
2018/04/28
1.5K0
2017年 Python工程师面试经历分享(七家)
博主本人 2015 年毕业于郫县某 985 大学通信工程系,因为大学期间一直自己创业所以错过了大四秋招春招,毕业后又在北京继续创业一年,但在创业公司一直无法沉淀技术累积,于16年年底萌生进大公司学习的想法,于是从16年年底开始通过社招找工作。虽然大学就开始做研发,但无奈简历只看毕业工作经验,所以本人简历只有一年工作经验。
互联网老辛
2018/10/18
1.7K0
回馈牛客,国企银行面经
今天签了三方,终于结束了我的秋招之旅。秋招拿到了一些offer,也算是蛮有收获的。想写一点东西来回馈大家。 首先是关于实习,大家在找实习的时候尽量找个互联网的实习,这样秋招至少会顺利一半吧,而且互联网的实习是基本可以留用的,秋招时手里有个offer心里就不是很慌了。不过如果想去券商工作的话,实习的时候找个券商实习还是不错的,无论留用与否,在参加券商的秋招时会非常有优势的,说句题外话,券商的实习留用率不是很高,而且有些偏爱男生。 因为实习,手里有个互联网的offer,但是因为不太喜欢里面的工作氛围,还有一些个
牛客网
2018/04/28
1.8K0
京东运营面经
我面试的是京东电商品类运营实习生一职,目前已经拿到实习offer。 在3月分左右我开始投递简历,一直到4.7号才开始笔试,但是笔试结果出来的很快,记得是4.11号出来的,然后4.20号开始一面,4.22二面,4.27HR面。 笔试 这次的笔试我做的很水,因为看错了笔试时间,记成了晚上21:00开始,但实际上是19:00开始。同一天的19:00我正在做着链家的笔试,很庆幸当时花了不到一个半小时就做完了,所以我就想着提前点进京东的笔试链接看一看。点进去一看,笔试已经开始一个多小时了,我瞬间傻眼,时间还剩不到
牛客网
2018/05/30
1.1K0
推荐阅读
相关推荐
秋招时间规划,知识点汇总,以及面试总结一、知识储备二、面试问题三、心态变化四、总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验