判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数(不将整数转为字符串来解决)。

 示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。
你能不将整数转为字符串来解决这个问题吗?

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-number

初步分析
  1. 可以暴力法,强行转化成字符串反转判断是否相同。
  2. (上次的整数反转算法)可以利用取余来每位反向添加入另一个整数中。
  3. (也是上次的整数反转算法)不过这次可以反转一半和另一半比较相同则为回文数。

本章总结

【小总结】
1.【尽量不要用暴力法】
2.【利用数学运算eg:%,/】

【详细总结】

原x a 变化后x result
1234 4 123 4
123 3 12 43
12 2 1 432
1 1 1 4321

详细代码

public class Solution {public bool IsPalindrome(int x) {if(x<0) return false;if(x<10) return true;if(x%10==0) return false;int before = x;int result =0;while(x!=0){int a=x%10;x=x/10;result = result*10+a;}return result==before;}
}

另一个理解比较简单的版本(反转一半判断)

public class Solution {public bool IsPalindrome(int x) {if(x < 0 || (x % 10 == 0 && x != 0)) {return false;}int result = 0;while(x > result ) {result = result * 10 + x % 10;x /= 10;}return x == result || x == result /10;}
}位运算符:(a & b)按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0输出结果 12 ,二进制解释: 0000 1100(a | b)按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。输出结果 61 ,二进制解释: 0011 1101(a ^ b)按位异或运算符:当两对应的二进位相异时,结果为1输出结果 49 ,二进制解释: 0011 0001(~a )按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。a << 2左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。输出结果 240 ,二进制解释: 1111 0000a >> 2右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数输出结果 15 ,二进制解释: 0000 1111赋值运算符:*= 乘法赋值运算符 c *= a 等效于 c = c * a/= 除法赋值运算符 c /= a 等效于 c = c / a%= 取模赋值运算符 c %= a 等效于 c = c % a**= 幂赋值运算符 c **= a 等效于 c = c ** a//= 取整除赋值运算符 c //= a 等效于 c = c // a> 作者:boywithacoin_cn
> 链接:https://leetcode-cn.com/problems/reverse-integer/solution/pythondan-chu-he-tui-ru-shu-zi-yi-chu-qian-jin-xin/
> 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

【回文数】算法优化笔记相关推荐

  1. python判断回文数_Python实现判断一个整数是否为回文数算法示例

    本文实例讲述了Python实现判断一个整数是否为回文数算法.分享给大家供大家参考,具体如下: 第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较 def isPalindrome(se ...

  2. python判断回文_Python实现判断一个整数是否为回文数算法示例

    本文实例讲述了Python实现判断一个整数是否为回文数算法.分享给大家供大家参考,具体如下: 第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较 def isPalindrome(se ...

  3. c语言多组数据判断回文字符串,详解判断回文字符串跟回文数算法的C语言代码...

    详解判断回文字符串和回文数算法的C语言代码! 一.判断一个字符串是否为回文字符串 #include #include #include //包含strlen #define YES 1 #define ...

  4. java回文数算法for_【Java】【每日算法/刷穿 LeetCode】9. 回文数(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]9. 回文数(简单) 宫水三叶发布于 今天 15:30 题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从 ...

  5. java实现回文数算法

    [问题描述]所谓回文数是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数.例如,素数11,373,其各位数字对换位置后仍然为11,373,因此这两个整 ...

  6. python递归判断回文数_Python实现判断回文数算法

    回文数的定义:回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例1: 输入:121 输出:True 示例2: 输入:-121 输出:False 解释: 从左向右读, 为 -121 . ...

  7. c语言程序判断一个字符串是否是回文数,详解判断回文字符串和回文数算法的C语言代码!...

    一.判断一个字符串是否为回文字符串 #include #include #include //包含strlen #define YES 1 #define NO  0 #define uchar un ...

  8. Python中判断回文数

    判定一个5位数或者4位整数否为回文数 顺读与逆读都一样的数 例如:1,2,3,4,5,6,7,8,9,11,22,33,101,121,222 算法思路1:将该数先摸10后除10的方法一一拆除,当第一 ...

  9. 10000内的回文数c语言,回文数

    "回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这样的特征,成为回文数(pa ...

  10. python判断回文数_Python练习题---判断回文数

    设n是一个任意自然数,如果n的各位数字反向排序所得的自然数与n相等,则n被称为回文数,从键盘输入一个5位数字 ,请编写程序判断这个数字是不是回文数. 思路:先获取一个字符串,再判断该字符串是否满足是自 ...

最新文章

  1. 编译安装mysql带boost_编译安装mysql时报缺少boost1.59后,编译安装boost1.59
  2. dxf geojson 转换_将Geopandas中geojson文件的linestring转换为polygon
  3. Cambridge partner
  4. 性能测试(04)-表达式和业务关联-JDBC关联
  5. stm32 输入捕获 测量脉宽
  6. 使用LiteOS Studio图形化查看LiteOS在STM32上运行的奥秘
  7. 1024乘风破浪季,3本好书助你平步青云
  8. 掌握Spark机器学习库-06-基础统计部分
  9. 【Java后台开发规范】--- Null值处理
  10. 简单的通过request判断客户端设备类型
  11. C#获取字符串的拼音和首字母
  12. 布洛芬成功史:研发10年因一次宿醉迎来转机,发明人3年前已去世
  13. 24点游戏(随机产生四个不同的1到13的随机数据外加加减乘除构成表达式,输出结果等于24的表达式)
  14. 利用Instrumentation单元测试模块控制安卓手机进行各项操作(微信)
  15. 什么是QA?QA是什么意思?
  16. html mailto 乱码,outlook会议乱码
  17. HackBrowserData密码抓取
  18. java 自动发货_基础知识总结篇(一)
  19. php:Notice: Use of undefined constant id - assumed 'xxxx' 解决办法
  20. 在 Android 模拟器上设置 Sencha Touch

热门文章

  1. 用状态空间法(卡尔曼滤波)解决深度高斯过程问题
  2. 60万元奖金 “人脸攻防战”,怎么打?丨独家公开课实录(附baseline)
  3. 管中窥“视频”,“理解”一斑 —— 视频理解概览
  4. AliExpress:在检索式问答系统中应用迁移学习 | PaperDaily #24
  5. 深到骨子里的自律,是每周坚持刷几篇最新论文 | PaperDaily #10
  6. poj3070 Fibonacci 矩阵快速幂
  7. 随机迷宫 c语言思路,[原创]递归随机迷宫生成算法详解
  8. python批量读取文本行_用Python读取几十万行文本数据
  9. RocketMQ 错误:The broker does not support consumer to filter message by SQL92
  10. php异常处理示例,php异常处理示例