算法练习-Palindrome Number
2024-10-19 23:40:33
判断回文整数
来源
https://leetcode.com/problems/palindrome-number/
要求
判断一个整数是不是回文数,尽量减少内存暂用。
思路
可能的情况:
- 负数的应当作非回文数
0-9
是回文数- 判断时可能会溢出
从 >9
的数开始判断,先计算出整数有多少位,这其中要处理出现溢出的情况,例如整数 x = 34043
,计算出位数 len = 5
;
以此判断最高位和最低位是否相同,若相同 令 x = 404
,继续判断。
实现代码
bool isPalindrome(int x) {
static const int MAX_INT = (int) ((unsigned)~0 >> 1);
if(0 > x){
return false;
}
int len = 1, decimal = 1;
while(x >= decimal*10){ // 计算整数有多少位
decimal *= 10;
++len;
if(MAX_INT / decimal < 10)
{
++len;
break;
}
}
if(len == 1){
return true;
}
else{
int low = 1;
while(len-- > low++){
if(x / decimal == x % 10){
x = (x % decimal - x % 10) / 10;
decimal /= 100;
}
else{
return false;
}
}
return true;
}
}
最新文章
- 【分布式】Zookeeper会话
- JavaWeb路径问题打包总结--小心出门右转404
- 用css实现条纹背景
- Box2D自定义重力
- jQuery api 快速参考[转]
- C#之类的继承、抽象类和虚方法
- 2016温碧霞爱情《爱在深秋》HD720P.国语中字
- 为Virtual Studio Code配置Python调试插件(Ubuntu14.04)
- 8款给力HTML5/CSS3应用插件 可爱的HTML5笑脸
- PC问题-可以PING通IP,PING名字不通,可以远程,但不能访问共享文件夹?
- python 使用__slots__
- 1105PHP笔记001
- 关于移动APP与Web APP的测试重点以及区别
- 【NOIP模拟】从我背后出现
- JavaScript使用闭包实现单例模式
- linux下nginx日常操作
- python学习day6 数据类型Ⅳ(集合)
- C#计算重重字符串,出现的次数
- vim 插件 -- omnicppcomplete
- 如何在windows2008/2012上安装启明星系统。
热门文章
- Ubuntu Server 使用 PPA 安装 Java (JDK) 8
- Python的主要应用领域及应用场景
- Gym - 101572E Emptying the Baltic bfs加剪枝
- UVALive 3645 时序模型
- javaEE 转发 和 重定向
- java中double的四舍五入 BigDecimal
- java TopK算法
- HTTP的请求头标签 If-Modified-Since
- cesm1_2_2在南信大大型机上的移植以及运行简单case的步骤
- android window(二)从getSystemService到WindowManagerGlobal