Palindrome Number
来源:互联网 发布:googlenet tensorflow 编辑:程序博客网 时间:2024/06/08 09:31
Determine whether an integer is a palindrome. Do this without extra space.
click to show spoilers.
Some hints:
这道题因为简单一直没有写下来,今天做了一下,发现了一个容易越界的情况:就是在判断divisor大小的时候,开始直接算了x/(divisor*10)>0,这样在一个情况下比如x=1000000001(位数和Integer.MAX_VALUE)相等,在d=100000000(与最大值位数相等,但是如果*10就会越界)时,d*10=1410065408 所以就要做x/divisor >= 10的判断Could negative integers be palindromes? (ie, -1)
If you are thinking of converting the integer to string, note the restriction of using extra space.
You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?
There is a more generic way of solving this problem.
public boolean isPalindrome(int x) { if (x < 0) { return false; } int divisor = 1; while(x/divisor >= 10) { divisor *= 10; } while (divisor > 0) { if (x%10 == x/divisor) { x %= divisor; x /= 10; } else { return false; } divisor /= 100; } return true; }
0 0
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- Palindrome Number
- FFmpeg源代码简单分析:makefile
- Android应用开发相关下载资源(2014/12/14更新)
- 基于mykernel实现的时间片轮转调度代码分析
- Android工程文件不能自动生成R文件
- Number of 1 bits(算法练习)
- Palindrome Number
- 《大型网站系统与JAVA中间件实践》读书笔记
- 3D演示
- C#打开或者创建一个文件,然后向其末尾写入数据的方法
- 私网安装Ambari实现Hadoop、Hbase等自动化安装(离线 本地源)
- HotSpot运行时概览#1
- week2【项目2】长方体类
- java tcnative-1.dll 各个版本的地址
- linux进程编程-替换进程映-exec系列函数(execl,execlp,execle,execv,execvp)使用