算法练习-Palindrome Number
判断回文整数
来源
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;
}
}
算法练习-Palindrome Number的更多相关文章
- 【算法】LeetCode算法题-Palindrome Number
这是悦乐书的第144次更新,第146篇原创 今天这道题和回文有关,即从前往后和从后往前是一样的,如"上海自来水来自海上"就是一个回文字符串,如整数121就是回文数,这些都是和回文相 ...
- 65. Reverse Integer && Palindrome Number
Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, re ...
- 有趣的数-回文数(Palindrome number)
文章转自http://blog.163.com/hljmdjlln@126/blog/static/5473620620120412525181/ 做LC上的题"Palindrome num ...
- 9. Palindrome Number
/* Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers ...
- No.009 Palindrome Number
9. Palindrome Number Total Accepted: 136330 Total Submissions: 418995 Difficulty: Easy Determine whe ...
- 【LeetCode】9 & 234 & 206 - Palindrome Number & Palindrome Linked List & Reverse Linked List
9 - Palindrome Number Determine whether an integer is a palindrome. Do this without extra space. Som ...
- leetcode 第九题 Palindrome Number(java)
Palindrome Number time=434ms 负数不是回文数 public class Solution { public boolean isPalindrome(int x) { in ...
- HDU 5062 Beautiful Palindrome Number(数学)
主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=5062 Problem Description A positive integer x can re ...
- Reverse Integer - Palindrome Number - 简单模拟
第一个题目是将整数进行反转,这个题实现反转并不难,主要关键点在于如何进行溢出判断.溢出判断再上一篇字符串转整数中已有介绍,本题采用其中的第三种方法,将数字转为字符串,使用字符串比较大小的方法进行比较. ...
随机推荐
- WebForm与MVC混用 (转)
http://blog.csdn.net/leftfist/article/details/11591231
- Visual Studio 2017 Key激活码
Microsoft Visual Studio Enterprise 2017 企业版 KEY:NJVYC-BMHX2-G77MM-4XJMR-6Q8QFMicrosoft Visual Studi ...
- SprimgMVC学习笔记(八)—— SpringMVC与前台json数据交互
一.两种交互形式 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在Controller类中会有不同的解析, ...
- zmq导致master收不到minion的key
问题: 官网方式yum安装完saltstack之后,master与minion都成功启动后,但是却发现怎么都收不到minion的key.(zmq版本不一致所致,困扰了我好几天,希望能帮到大家.) 分析 ...
- poj3728之离线LCA+dp思想/RMQ+LCA(非常好的题目)
题意很简单 给一个树(n < 5w) 每个点有个权值,代表商品价格 若干个询问(5w) 对每个询问,问的是从u点走到v点(简单路径),商人在这个路径中的某点买入商品,然后在某点再卖出商品, ...
- 华东交通大学2015年ACM“双基”程序设计竞赛1003
Problem C Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Sub ...
- Go语言关键字之1--range
https://blog.csdn.net/iamlihongwei/article/details/78842857 https://studygolang.com/articles/1952 ht ...
- python3 生成器笔记
#生成器def MyDemo(M): for i in range(M): yield i**2for item in MyDemo(9): print(item) # #生成器import sysa ...
- sql游标及模仿游标操作
游标用途:对一个查询出来的结果,每一行作为参数进行操作 一:游标操作 --申请一个游标 DECLARE MyCursor CURSOR FOR SELECT ID FROM dbo.tb_stock ...
- 3 不用IDE开发groovy
1 不用IDE开发groovy 1.1 不用IDE开发的方法 可以在IDE中运行Groovy类或者脚本,但是Groovy也提供了其他运行途径.你能运行Groovy代码基于以下: · ...