9. Palindrome Number

  • Total Accepted: 136330
  • Total Submissions: 418995
  • Difficulty: Easy

  Determine whether an integer is a palindrome. Do this without extra space.

  

  Some hints:

  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.

  思路:

  本题解题很简单,首先判断负数和0,然后我们计算得到最大基数,如果x为一个两位数,则基数base=100,三位数则为1000等,然后我们每次分别取这个数的最高位和最低位进行比较,如果不相等,则直接返回false,相等则去掉最左边和最右边的数后进行下一轮比较。代码如下:

 public boolean isPalindrome(int x) {
if(x < 0){
return false ;
}
if(x == 0 ){
return true ;
} int base = 1 ;
while(x/base >= 10){
base *= 10 ;
} while(x != 0){
int leftDigit = x/base ;
int rightDigit = x%10 ;
if(leftDigit != rightDigit){
return false ;
}
x = x%base/10 ;
base /= 100 ;
}
return true ;
}

最新文章

  1. jquery-leonaScroll-1.2-自定义滚动条插件
  2. lsof 常用命令
  3. Actionscript Flash Event.ENTER_FRAME 延迟间隔非常大 并且 pre-render 耗时非常严重
  4. c语言中的文件流
  5. Linux基础命令介绍七:网络传输与安全 wget curl rsync iptables
  6. js便签笔记(3)——切记:appendChild()、insertBefore()是移动element节点!
  7. 【转】Java跨平台原理
  8. c++ 普通高精除高精
  9. 【C traps and pit falls】阅读笔记
  10. C# 之 用NPOI类库操作Excel
  11. Android_SystemService
  12. C#中关键字ref与out的区别【转】
  13. web form中自定义HttpHandler仿mvc
  14. 移动端适配--flexible.js
  15. Python-爬虫的基本原理
  16. CSS之FLex布局介绍
  17. Windows Docker 使用笔记
  18. iOS开发总结——项目目录结构
  19. centos7中端口及服务对应情况(笔记)
  20. vim重复操作的宏录制

热门文章

  1. (C/C++) Interview in English - Threading
  2. jQuery Ajax 方法调用 Asp.Net WebService 以及调用aspx.cs中方法的详细例子
  3. sublime运行c++快捷建修改
  4. unsigned char 转字符串:
  5. MySQL的时间进位问题
  6. JAVA 想让类无法new,可以使用private将类的构造函数改为私有的,这样new的时候就会报错了
  7. JAVA 构造方法之间的调用
  8. android之location01
  9. java生成验证码图片
  10. 设置presentVC跟PushVC一样的效果即从右到左的动画