首先,我们应该处理一些临界情况。所有负数都不可能是回文,所以我们可以对所有负数返回 false。除了 0 以外,所有个位是 0 的数字不可能是回文,所以我们可以对所有大于 0 且个位是 0 的数字返回 false。

现在,让我们来考虑如何反转后半部分的数字。

对于数字 1221,如果执行 1221 % 10,我们将得到最后一位数字 1,要得到倒数第二位数字,我们可以先通过除以 10 把最后一位数字从 1221 中移除,1221 / 10 = 122,再求出上一步结果除以 10 的余数,122 % 10 = 2,就可以得到倒数第二位数字。如果我们把最后一位数字乘以 10,再加上倒数第二位数字,1 * 10 + 2 = 12,就得到了我们想要的反转后的数字。如果继续这个过程,我们将得到更多位数的反转数字。

现在的问题是,我们如何知道反转数字的位数已经达到原始数字位数的一半?

由于整个过程我们不断将原始数字除以 10,然后给反转后的数字乘上 10,所以,当原始数字小于或等于反转后的数字时,就意味着我们已经处理了一半位数的数字了。

class Solution {
public:bool isPalindrome(int x) {if(x<0||(x%10==0&&x!=0))return false;int y=0;while(x>y){int g=x%10;y=y*10+g;x=x/10;}return x==y||x==y/10;}
};

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。相关推荐

  1. Java黑皮书课后题第6章:**6.3(回文整数)使用下面的方法头编写两个方法:……使用reverse方法实现isPalindrome。如果一个数字的逆序数和它自身相等,这个数就称为回文数。

    6.3(回文整数)使用下面的方法头编写两个方法:--使用reverse方法实现isPalindrome.如果一个数字的逆序数和它自身相等,这个数就称为回文数. 题目 题目概述 破题:假设没有提示语句( ...

  2. 12.15有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数

    有一种数叫回文数,正读和反读都一样,如12321便是一个回文数.编写一个程序,从命令行得到一个整数,判断该数是不是回文数 package Text6;import java.util.Scanner; ...

  3. 有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。

    package task08;import java.util.Scanner;/** 8.有一种数叫回文数,正读和反读都一样,如12321便是一个回文数.* 编写一个程序,从命令行得到一个整数,判断 ...

  4. 回文数,给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    力扣题目回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文,而 1 ...

  5. C语言:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

    题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. 程序分析:此题要求判断一个五位数是不是回文数,首先要理解回文数的定义,然后我们就要思考如何处理我们输入的五 ...

  6. python实现isodd()函数、参数为整数_实现isodd()函数,参数为整数,如果政务为奇数,返回True,否则返回Flase。_学小易找答案...

    [单选题]具有减轻头骨重量.温暖和湿润空气及对发音起共鸣作用的结构是 [单选题]呼吸环节不包括 [单选题]鼻腔内对气味敏感的黏膜区是 [单选题]腹腔分区中,属于腹中部的是 [单选题]下列属实质器官的是 ...

  7. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。...

    题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. 思路:使用一个方法来判断这个数是否为回文数 打印出[10000,99999]之间所有的回文数 public ...

  8. C语言:一个五位数,判断其是否为回文数

    /*一个五位数,判断其是否为回文数*/ #include <stdio.h> int main() {long x;int ge,shi,qian,wan;printf("请输入 ...

  9. 输入一个字符串,判断其是否为回文串。

    输入一个字符串,判断其是否为回文串.例如:readdaer就是回文字符. 解题思路:定义两个变量"i,j",当i为首字符时,j为末字符,比较两者是否相同,不同则输出不是回文字符,相 ...

  10. 输入一个字符串,判断其是否是回文。(回文:即正读和反读都一样,如abccba, abccba)

    输入一个字符串,判断其是否是回文.(回文:即正读和反读都一样,如abccba, abccba) 这里讨了个巧用了strcmp函数 注:strcmp用法: 字符串比较函数,一般形式为strcmp(字符串 ...

最新文章

  1. 深入探索JVM自动资源管理
  2. C#跳转语句 迭代法 穷举法
  3. 在GridView里使用上下箭头(小键盘旁边)来选择记录
  4. 生成 PDF 全攻略【1】初体验
  5. Linux(四) 用户、用户组
  6. 流行趋势-立体感和艺术剪纸风海报美妆设计
  7. 仿照七牛云图片处理类实现的C#帮助类
  8. C 和 CPP 混合代码cmath编译出错
  9. Shiro入门视频课程——笔记(一)
  10. vba遍历字符串_操蛋的VBA程序错误!
  11. win10安装ipython_win10下安装Anaconda的教程(python环境+jupyter_notebook)
  12. 美团打车已攻到北京,滴滴还在忙着收小蓝单车?
  13. swagger2.2.2报错:relProviderPluginRegistry,linkDiscovererRegistry,entityLinksPluginRegistry
  14. paip.提升效率---request自动绑定domain object
  15. 添加logviewer用户
  16. 词性标注:中文词性标注简介
  17. 除了 P 站,程序员摸鱼还喜欢上哪些网站?
  18. 汉思新材料:无人机控制板BGA芯片底部填充胶应用
  19. 昨日种种死 今日种种生
  20. Buhtrap在最新监控活动中使用多个0 day漏洞

热门文章

  1. bs84c12引脚_HOLTEK推出BS84B08C新一代更高抗干扰能力的A/D Touch MCU
  2. ET199加密锁设置和使用
  3. Java8 Stream流的常用方法和讲解
  4. 彻底丢掉职场中的四个幻想
  5. 解决方案:用word制作的简历表格转为PDF多了条线
  6. Json的介绍与使用
  7. JAVA学习10_18学习总结
  8. 三维空间中圆的参数方程及matlab程序画图
  9. RChain的Casper共识算法
  10. 一千台无盘工作站,电信网通两条光纤方案